1

我们正在制作一个数字广播播放器,听众可以在其中向演播室发送信息。这个想法是,用户将在网站上填写一个文本区域,按下按钮,消息就会发布在工作室的 Facebook 墙上,DJ 正在那里监控它。

这对用户墙非常有效,但是当我尝试发布到页面墙时,我收到此错误:

"(#200) The user has not granted the application the permission to automatically publish feed stories"

我是不是忘记了什么?或者这是不可能的?用户是否需要喜欢该页面?或者作为页面管理员是否需要更改设置?

我创建了一个测试页面,我喜欢它,并且一直在用我的帐户进行测试。我还选中了“任何人都可以在 x Page 的时间轴上发帖”框。但没有帮助。

这是简化的代码:

function facebookPost(target,content) {
    FB.api('/'+target+'/feed','post',{
        message:message
    },function(res){
        console.log(res);
    }
}

我已经使用 API 有一段时间了,但是这个真的让我头疼。

提前致谢。

编辑:我发现只有当页面管理员在他自己的页面上发布时才会出现错误。当我将“manage_pages”添加到 perms 时,我没有收到错误消息,但该帖子以页面名称命名,就像状态更新一样。

所以它适用于其他用户,但前提是他们在发布之前没有“喜欢”该页面,否则页面管理员不会收到新帖子的通知,他看不到它,只有用户和他的朋友可以。(这是一个问题,因为 DJ 必须看到这些帖子)

有没有人经历过这种行为?

4

1 回答 1

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)  });
于 2013-06-24T08:58:00.577 回答