如何通过代码获取页面访问令牌?
我需要为我拥有的网页生成页面访问令牌,网页将使用此令牌发布到其Facebook页面订阅源。
这就是我做的:
- 转到Graph API Explorer
- 从下拉列表中选择我的应用
- 单击“
Get Access Token
- 选择正确的权限(
manage_pages
/user_events
)
要获取Page Access Token
我必须在Graph API Explorer中运行me/accounts
。 这将显示我使用新的页面访问令牌(短期(大约60分钟))到每个页面的所有页面。
此Page Access Token
可以正常使用我的C#代码发布到Feed。
问题
当另一个用户使用我的网页发布post时,我需要生成一个新的Page Access Token
(代码中),然后用它将用户post发布到网站的Facebook提要。 问题是我显然不能在那里授予post,所以我该如何处理?
我显然不能运行me/accounts
(在代码中)命令来从这里获取Page Access Token
。
我已经查看了扩展的访问令牌,但这将持续60天,然后它将是与上面相同的问题。
你需要的是扩展页面令牌:
- 使用
manage_pages
和publish_actions
生成用户访问令牌 - 生成扩展用户令牌(有效期为60天): https : //graph.facebook.com/oauth/access_token?grad_type = fb_exchange_token&client_id = [app-id]&client_secret = [app-secret]&fb_exchange_token = [ short -lived -token]
- 使用扩展用户令牌调用
/me/accounts
以获取扩展页面令牌
扩展页面标记永远有效,因此您无需始终生成新标记。
来源(包括所有代币的信息): http : //www.devils-heaven.com/facebook-access-tokens/
在https://developers.facebook.com/docs/pages/access-tokens上
获取页面访问令牌
GET /{page-id}?fields=access_token&access_token={user_access_token}
响应将如下所示:
{ "access_token": "{your-page-access-token}", "id": "{page-id}" }