2010-12-13 64 views
21

我正在开发一个项目,将数据发布到Facebook页面的墙上。我已经建立了一个Facebook应用程序,并尝试发布到他们的页面的墙时,目前从用户请求以下权限:哪些Facebook权限允许发布到页面墙(不是简介墙)?

  • publish_stream
  • offline_access
  • manage_pages

的代码目前职位,一个PROFILE的墙壁成功,但当试图张贴到一个页面的墙壁时,返回以下错误:

Facebook error: (#200) The user hasn't authorized the application to perform this action.

同样,我要求的权限显然足以张贴到配置文件的墙上,但不会显示在页面的墙上。我错过了哪些权限以张贴到网页的墙上?预先感谢您的任何帮助。

+0

需要更多信息。你使用什么协议(API)?您是否收到网页的访问令牌?您尝试连接网页的用户管理员? – Lex 2010-12-13 19:21:24

+0

我使用OAuth 2.0协议获取访问令牌,并使用Graph API发布数据,向“https://graph.facebook.com/".$facebookPageID."/feed”发出curl请求以将数据发布到属于$ facebookPageID的墙上。我已收到配置文件的墙和页面墙的访问权限。该页面由我发布的配置文件的用户管理,并且Facebook为这两个页面返回相同的访问令牌。访问令牌是通过登录页面管理员的帐户授予的。非常感谢您的时间和帮助。 – Sean 2010-12-13 21:01:40

回答

12

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

Enables your application to retrieve access_tokens for pages the user administrates. The access tokens can be queried using the "accounts" connection in the Graph API. This permission is only compatible with the Graph API.

这意味着你必须基于来自

https://graph.facebook.com/$USERID/accounts?access_token=$USER_ACCESS_TOKEN 

响应为您的应用程序切换你的用户的访问令牌。所以,一旦你有你的PAGE访问令牌,切换请求发布消息像这样:

https://graph.facebook.com/$PAGEID/feed 

在postfields(使用卷曲或一些这样的),包括您的信息,$ PAGE_ACCESS_TOKEN

+2

我必须包含** status_update ** 权限(scope = publish_actions,manage_pages,status_update)才能发布到FB页面。我无法在任何Facebook文档中找到此权限。请参阅http://stackoverflow.com/q/15796138/516910我没有_不必“喜欢”该页面。 – 2013-04-11 18:46:49

+0

这个过程的最新更新是什么? – 2015-12-28 23:50:39

2

为了张贴到用户的墙上,您可以使用“publish_stream”的权限,但同样不会与页面一起使用。为了张贴到页面的墙上,我们需要首先像页面。 (成为粉丝现在已被Facebook删除)。以上答案基于我对FBConnect(面向iPhone的Facebook SDK)的使用经验。在我的应用程序中,我不得不使用Like Button来让用户第一次喜欢页面,之后他可以在页面的墙上张贴。我无法找到任何可以直接让用户在登录后发布到Page的墙上的具体权限。如果你有任何线索,请让我知道。