如何通过代码获得页面访问令牌

本文关键字:访问令牌 何通过 代码 | 更新日期: 2023-09-27 18:19:12

我需要为我拥有的网页生成一个页面访问令牌,这个令牌将被网页用于发布到其Facebook页面提要。

我是这样做的:

  1. 打开图形API资源管理器
  2. 从下拉菜单中选择我的app
  3. 点击Get Access Token
  4. 选择正确的权限(manage_pages/user_events)

要获得Page Access Token,我必须在图形API资源管理器中运行me/accounts。这将显示我用一个新的页面访问令牌(短时间(约60分钟))得到的所有页面。

这个Page Access Token将工作得很好,在我的c#代码中使用,以发布到提要。

当另一个用户使用我的网页发布帖子时,我需要生成一个新的Page Access Token(在代码中),然后使用它将用户帖子发布到网站的facebook feed。问题是,我显然不能在那里授予职位,所以我如何处理这个问题?

我显然不能运行me/accounts(在代码中)命令从这里获得Page Access Token

我已经看过扩展的访问令牌,但这将持续60天,然后它将是与上面相同的问题。

如何通过代码获得页面访问令牌

您需要的是一个扩展页面令牌:

  • 生成manage_pagespublish_actions的用户访问令牌
  • 生成扩展用户令牌(有效期60天):https://graph.facebook.com/oauth/access_token?grant_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/

On 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}"
}