13

我有一个应用程序,我可以用它写到用户的墙上,在他们登录时请求了 publish_stream 权限。

我还创建了一个页面和一个组,并希望我的应用程序能够写入这些内容。(具体来说,我希望我的后端服务器定期发布一些更新,而不涉及用户。)执行此操作的能力似乎暗示了这里https://developers的 /feed 部分的描述.facebook.com/docs/reference/api/page/和这里https://developers.facebook.com/docs/reference/api/group/。但是,我似乎找不到授权应用程序写入这些页面的方法。那些文档说如果你有 publish_streams 和 manage_pages 就可以做到。好的,但是我如何将这些授予我的应用程序?

在用户案例中,您在用户通过 OAuth 流程登录时请求这些权限。但是,页面和组从不登录,因此他们无法授予应用权限。我查看了组和页面的设置页面,找不到任何可以让我添加应用程序的内容。那么如何为应用程序授予发布到组和页面所需的权限呢?

4

1 回答 1

2

找到了!

http://developers.facebook.com/docs/reference/api/application/ http://developers.facebook.com/docs/howtos/login/login-as-page/

“应用程序页面访问令牌

要作为应用程序页面而不是当前用户执行以下操作,您必须使用应用程序的页面访问令牌,而不是通常用于修改 Graph API 对象的用户访问令牌或应用程序访问令牌。可以通过向具有 manage_pages 权限的 /USER_ID/accounts 发出 HTTP GET 来检索此访问令牌。这将返回用户具有管理访问权限的页面列表(包括应用程序配置文件页面),以及每个页面的 access_token。

注意:配置为本机/桌面应用程序的应用程序将无法进行需要应用程序 access_token 的 API 调用。”

所以:

我去了http://developers.facebook.com/tools/explorer/并像我一样创建了一个具有“manage_pages”权限的访问令牌。

然后我去了https://graph.facebook.com/ $myname/accounts?access_token=$accesstoken

它给了我一个列表页面和我允许的应用程序。我从相关页面复制了 access_token,并将其粘贴到我的代码中,以便服务器端创建事件代码始终使用该访问令牌。

它奏效了!

于 2013-01-10T15:18:57.497 回答