我们正在制作一个数字无线电层,让听众可以向工作室发送信息。这个想法是用户将填写网站上的文本区域,按下按钮,消息将被发布在工作室的Facebook墙上,DJ正在监视它。
这适用于用户墙,但当我尝试发布到页面墙时,我收到此错误:
"(#200) The user has not granted the application the permission to automatically publish feed stories"
我忘记了什么吗?或者这不可能吗?用户是否需要喜欢该页面?或者是否需要将设置更改为页面Admin?
我创建了一个测试页面,我喜欢它并且正在使用我的帐户进行测试。我还选中了“任何人都可以在x页的时间轴上发帖”的复选框。但没有帮助。
以下是简单的代码:
function facebookPost(target,content) {
FB.api('/'+target+'/feed','post',{
message:message
},function(res){
console.log(res);
}
}
我一直在使用API一段时间了,但这个确实让我头晕目眩。
提前致谢。
编辑:我发现只有在页面管理员在自己的页面上发布时才会出现错误。当我将'manage_pages'添加到perms时,我没有收到错误,但帖子在页面名称中,就像状态更新一样。
所以它适用于其他用户,但前提是他们在发布之前没有“喜欢”该页面,否则页面管理员不会收到新帖子的通知,他无法看到它,只有用户和他的朋友可以。 (这是一个问题,因为DJ必须看到这些帖子)
之前有没有人遇到过这种行为?
答案 0 :(得分:0)
对于那些以相同错误进入此页面的人,我发现您需要publish_stream而不是publish_actions。
即使Facebook文档说publish_actions取代了publish_stream。当我为publish_actions创建了一个FB.login时,它已经过了,但帖子得到了与帖子的作者相同的错误。
当我请求publish_stream时,它向我提供了一个请求新权限的对话框,在我点击确定后,帖子就可以了。
我使用的代码:
params={message: "Your message on the wall."}
FB.login(function(response) { console.log(response) }, {scope:'publish_stream'})
FB.api('/<The Page ID>/feed', 'post', params, function(response) { console.log(response) });