好吧我想要的是将Facebook页面作为页面发布(这是只能查看ne的开发模式应用程序)。 我已经完成了Facebook登录。
所以基本上我要求2 permissions
而且他们是
我可以使用Facebook graph explorer tool
发布到该页面,但不能通过我的Javascript
代码发布。
这是我用JS编写的代码。此代码写在函数内。
FB.api('me/accounts', function(response){
token = response.data[0].access_token;
post_with_token(token);
});
function post_with_token(token){
var message = $('#post_body').html();
var page_id = 'page_id';
FB.api('page_id/feed', 'post',
{ message : message,
access_token : token},
function (response){
console.log(response);
});
控制台中的错误对象说明了这个
消息:"(#200)用户未授权应用程序执行此操作"
应用程序My和Graph explorer都授予了相同的权限。是否有任何新的权限要求。我无法弄清楚究竟是什么问题。如果我在任何地方都错了,请更正我。
我得到了我在下面发布的答案,但没有得到我需要额外许可的原因。
答案 0 :(得分:3)
publish_pages
仅在图谱API版本2.3中引入。
在此之前,publish_actions
用于允许页面上的页面上的帖子 - 现在使用v2.3,他们将其分成两个单独的权限。 publish_actions
适用于您在用户名称中发布的所有内容,publish_pages
用于作为页面发布。
图形API资源管理器默认选择了API版本2.3 - 这就是您的呼叫成功的原因。最有可能的是,使用您自己的JS代码调用API时,您没有使用v2.3,但在初始化JS SDK时指定了较低的API版本。
因此,只需在version: 'v2.3'
参数中指定FB.init
(请参阅JS SDK文档中的Basic Setup部分),它就可以与publish_pages
一起使用。
答案 1 :(得分:1)
好的,我解决了这个问题。我也要求publish_actions
许可。所以我通过登录对话框询问并使用与上面相同的代码发布到页面!
答案 2 :(得分:0)
错误意味着它所说的内容。他们设计了他们的API,所以如果没有适当的授权,它就不会让你发布。
Facebook provides a guide on how to give proper authorization to your registered app