哪些 Facebook 权限允许发布到页面墙(不是个人资料墙)?

Posted

技术标签:

【中文标题】哪些 Facebook 权限允许发布到页面墙(不是个人资料墙)?【英文标题】:Which Facebook permissions allow for posting to a page wall (not profile wall)? 【发布时间】:2011-05-24 20:43:00 【问题描述】:

我正在做一个将数据发布到 Facebook 页面墙上的项目。我已经设置了一个 Facebook 应用程序,目前在尝试发布到他们页面的墙上时请求用户的以下权限:

publish_stream offline_access manage_pages

代码当前成功发布到PROFILE的墙上,但是当尝试发布到PAGE的墙上时,返回以下错误:

Facebook 错误:(#200) 用户尚未授权应用程序执行此操作。

再次,我请求的权限显然足以发布到个人资料的墙上,但不能发布到页面的墙上。我缺少哪些权限来发布到页面的墙上?提前感谢您的帮助。

【问题讨论】:

需要更多信息。您使用什么协议 (API)?您是否收到页面的访问令牌?您尝试连接的页面是用户管理员吗? 我正在使用 OAuth 2.0 协议获取访问令牌,并正在使用 Graph API 发布数据,向“graph.facebook.com/".$facebookPageID."/feed”发出 curl 请求以将数据发布到属于$facebookPageID。我收到了个人资料墙和页面墙的访问令牌。该页面由我发布的个人资料的用户管理,Facebook 为两个页面返回了相同的访问令牌。访问令牌是通过登录页面管理员的帐户授予的。非常感谢您的时间和帮助。 【参考方案1】:

这就是你要做的。首先,阅读extended permissions 上的文档。请注意,“manage_pages”说:

使您的应用程序能够检索用户管理的页面的 access_tokens。可以使用 Graph API 中的“帐户”连接来查询访问令牌。此权限仅与 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

【讨论】:

我必须包含 status_update 权限 (scope=publish_actions,manage_pages,status_update) 才能发布到 FB 页面。我在任何 facebook 文档中都找不到此权限。请参阅***.com/q/15796138/516910 我确实没有必须“喜欢”该页面。【参考方案2】:

为了发布到用户的墙上,您可以使用“publish_stream”权限,但对于主页则不适用。为了发布到主页的墙上,我们需要首先喜欢主页。 (成为粉丝现已被 Facebook 删除)。上述答案基于我对 FBConnect(iPhone 版 Facebook SDK)的体验。在我的应用程序中,我必须使用 Like Button 让用户首先喜欢页面,然后他可以在 PAGE 的墙上发布。我找不到任何可以直接让用户在登录后发布到 Page 的墙的特定权限。如果你有任何线索,也请告诉我。

【讨论】:

以上是关于哪些 Facebook 权限允许发布到页面墙(不是个人资料墙)?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 .NET 发布到 Facebook 页面墙

我需要哪些权限才能读取发布到 Facebook 页面的用户的姓名?

Facebook API 无法将流式音频上传到页面墙

在 Facebook 上获取活动墙的照片

在 UIWebView 中打开 facebook 页面墙的 URL 不起作用

应用程序可以在哪些参数/代码/发布操作/权限下创建 Facebook 事件?