【问题标题】:Which Facebook permissions allow for posting to a page wall (not profile wall)?哪些 Facebook 权限允许发布到页面墙(不是个人资料墙)?
【发布时间】: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 为两个页面返回了相同的访问令牌。访问令牌是通过登录页面管理员的帐户授予的。非常感谢您的时间和帮助。

标签: facebook permissions facebook-wall


【解决方案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 文档中都找不到此权限。请参阅stackoverflow.com/q/15796138/516910 我确实没有必须“喜欢”该页面。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2010-10-16
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多