【发布时间】:2013-05-15 13:36:48
【问题描述】:
我正在开发我的 Cordova 应用程序,以使其更具病毒性。因此,当他们在游戏中存档新事物时,我想将 Facebook 和 Open Graph API 包含在游戏用户的新闻流中发布。我对整个 fb 和 open-graph 完全陌生,所以请帮助开始使用它。
我通过运行以下代码登录一个新用户:
$(login).on("click", function() {
FB.login(function() {
console.log("Default Login succeded");
console.log("Asking for write permissions");
FB.login(function(rsp) {
console.log("GOT WRITE PERMISSIONS");
log(rsp);
}, {
scope : 'publish_stream'
});
}, {scope:"email"});
});
我在命名空间einszwo 下注册了一个名为buy 的打开图形操作。作为对象,我使用默认的object。
尚未审核,但我正在使用开发者 Facebook 帐户登录我的设备。
现在我想调用该操作。为此,我使用以下代码:
var obj = {
title : "I visited Google",
url : "http://www.google.com"
};
function callback(response) {
console.log(JSON.stringify(response));
}
FB.api('me/einszwo:buy','POST',obj, callback);
很遗憾,通话失败,Facebook 回复如下:
{"error":{"type":"Exception",
"message":"The action you're trying to publish is invalid because it does not
specify any reference objects. At least one of the following properties
must be specified: object.","code":1611072}}
如果有人能帮助我解决这个问题或提供一些信息让我可以查找更多信息,那就太好了。
谢谢!
塞巴斯蒂安
编辑
仅在对象工作时粘贴 url 的解决方案,但我们希望使用您在 Facebook Object Browser 中定义的 Facebook 托管对象。该方法是能够发布用户的活动,如果有人点击该活动,我们希望他们被重定向到我们的应用程序信息页面。
我们无法为每个不同的对象提供一个页面。是否有可能使用 Facebook Javascript SDK 来使用 facebook 上托管的预定义对象?
我真的很想有这样的可能性来创建新对象
var o = {
"og:title" : "Test " + new Date(),
"og:url" : "http://facebook.com/appcenter/**APPNAMESPACE**",
"og:type" : "Object"
}
FB.api('/me/**APPNAMESPACE**:buy', 'POST', {
object : o
}, function(response) { console.log(JSON.stringify(response));});
这会返回
{"message":"(#3503) \"{\"og:title\":\"Test Thu May 23 2013 12:19:45 GMT+0300 (EEST)\",\"og:url\":\"http://facebook.com/appcenter/einszwo\",\"og:type\":\"Object\"}\" is an invalid value for property \"object\" with type \"Reference\"","type":"OAuthException","code":3503}
或一种使用预定义 facebook 对象 ID 的方法,例如:
FB.api('1234567890', 'POST', {
}, function(response) { console.log(JSON.stringify(response));});
谁能帮助我?
谢谢!
【问题讨论】:
标签: facebook facebook-graph-api facebook-javascript-sdk phonegap-plugins cordova-2.0.0