我正在开发一个将数据发布到Facebook页面墙上的项目。我已经设置了一个Facebook应用程序,当前在尝试发布到他们的页面墙时请求用户获得以下权限:
publish_stream
offline_access
manage_pages
代码目前成功发布到PROFILE的墙上,但在尝试发布到PAGE的墙上时,会返回以下错误:
Facebook错误:(#200)用户尚未授权应用程序执行此操作。
同样,我正在请求权限,这显然足以发布到个人资料的墙上,但不能发布到页面的墙上。我发布到页面墙上的哪些权限丢失了?提前感谢您的帮助。
答案 0 :(得分:12)
这是你做的。首先,阅读extended permissions上的文档。请注意,'manage_pages'表示:
使您的应用程序能够检索用户管理的页面的access_tokens。可以使用Graph API中的“accounts”连接查询访问令牌。此权限仅与Graph API兼容。
这意味着您必须根据
的响应切换用户的访问令牌https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN
适用于您的应用。因此,一旦您拥有 PAGE ACCESS TOKEN ,请切换请求以发布您的消息:
https://graph.facebook.com/$PAGEID/feed
在postfields中(使用curl或其他一些),包括你的消息和$ PAGE_ACCESS_TOKEN
答案 1 :(得分:2)
要发布到用户的墙上,您可以使用“ publish_stream ”权限,但同样不会使用Page。为了张贴到Page的墙,我们需要首先像Page 。 (成为粉丝现已被Facebook删除)。以上答案基于我对FBConnect(Facebook SDK for iPhone)的经验。在我的应用程序中,我不得不使用Like Button让用户首先喜欢页面,然后他可以在PAGE的墙上发布。我无法找到任何特定的权限,可以直接让用户在登录后发布到Page的墙上。如果您有任何线索,请告诉我。