比如Widget作品,评论插件并不:请参阅更新2Facebook的图形API 2.0可以喜欢/评论,但不评论
我继承具有图形1.0实现的项目。用户可以使用Facebook登录,然后在网站上点击和评论。
身份验证系统(symfony/php)直接与Facebook进行交互,以识别用户,如果他们不存在,可以创建配置文件,或者如果他们确实存在,他们可以登录到本地系统。
等,并评论部件已更新,以使用2.0语法:
window.fbAsyncInit = function() {
FB.init({
appId : 'KEY_HERE',
xfbml : true,
version : 'v2.3'
});
};
</script>
<script>(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/es_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
这似乎是工作确定。小部件会生成,并使用我的个人Facebook帐户,我可以发布并喜欢并在本网站和Facebook上查看结果。
同时,进行身份验证,应用程序生成的授权网址是这样的:
http://www.facebook.com/v2.3/dialog/oauth?client_id=API_KEY&redirect_uri=REDIRECT_URI&state=TOKEN&scope=SCOPE
范围包括以下内容:
'email', 'user_website', 'offline_access', 'status_update', 'publish_actions', 'publish_stream'
从该请求的回调处理程序,我们获取的用户Facebook个人资料并转发到用于登录用户或注册用户的自定义代码:
https://graph.facebook.com/v2.3/oauth/access_token?client_id=API_KEY&redirect_uri=REDIRECT_URI&client_secret=API_SECRET&code=CODE
只要我使用我的个人FB配置文件,这也似乎工作。我可以登录和评论和喜欢的东西。
当我使用我的Open Graph Test User登录时,我不能赞成或评论。当尝试发表评论时,我收到一个错误,它只是在灯箱/对话框中声明“糟糕”。从我的控制台,我得到以下错误:
for (;;);{"__ar":1,"error":1357010,"errorSummary":"Oops","errorDescription":"Something went wrong. We're working on getting it fixed as soon as we can.","payload":null,"bootloadable":{},"ixData":{},"lid":"0"}
这里似乎是错误代码的完整列表,但1357010未列出:
[http://fbdevwiki.com/wiki/Error_codes][1]
因此,根本的问题是,为什么我的Open Graph Test User(配置为以2.0模式运行应用程序)不与这些小部件交互,而我的个人配置文件可以?我没有正确地升级认证系统,以致2.0测试用户没有足够的特权?
[UPDATE]
当我的应用程序登录的用户,不存在FB对话框,其允许用户接受正被请求的权限的一部分。无论我是否使用我的个人帐户或图形测试用户登录,我都可以使用就像一个页面,然后从结果对话框中评论 - 该对话框请求许可。
但是,从标准评论小部件,我从来没有被要求授予发布权限 - 它只是失败,错误1357010
。切换开关“也发布在Facebook上”没有任何区别。
我是不是以2.0的方式进行身份验证?
[更新2]
它看起来像我的Open Graph测试用户可以像一个页面,然后,在确认后,用户可以评论的页面上形成从像插件的结果对话框。
然而,从评论插件,评论不成功,我得到的一般错误代码1357010.
什么我需要做的授权我OG测试用户(V2.3用户)提交评论从标准的评论小部件?
offline_access和publish_stream权限不再存在。尝试在Graph Explorer中使用相同的访问令牌 – WizKid
提供相同的请求,感谢您的建议@WizKid。我在Graph Explorer中从我的测试用户粘贴了一个访问令牌。我得到一个包含以下字段的有效回复:'id,first_name,last_name,email,picture,link'。修剪我的权限,只是'email,publish_actions,user_website',我仍然得到相同的错误,代码:'1357010' –