首页 文章

将图表api中的facebook访问令牌的到期日期延长2个月以上

提问于
浏览
8

我正在使用python在facebook页面wallpost自动化上工作

我通过使用 facebook graph api post 在我拥有的fb页面上自动发布所以我通过向https://graph.facebook.com/mypagename/feed发送HTTP POST请求来执行此操作

使用access_token和消息作为POST参数

我通过选择我正在使用的应用程序使用 graph api explorer 来生成访问令牌并将其授予 manage my pages

在本质上,access_token用于在2小时内过期

要将到期日期延长到2个月,我将HTTP GET请求发送到此URL

https://graph.facebook.com/oauth/access_token?client_id=my_app_id&client_secret=my_app_secret&grant_type=fb_exchange_token&fb_exchange_token=old_access_token

响应是一个json字符串,其中 new access_tokenexpiry 时间以秒为单位

新访问令牌的到期时间现在是60天 .

现在可以延长超过60天的到期时间吗?

3 回答

  • 0

    Short-Term and Long-Term Tokens

    用户访问令牌有两种形式:短期令牌和长期令牌 . 短命令牌的寿命通常约为 hour or two ,而长寿命令牌的寿命通常约为 60 days . 你不应该依赖这些生命周期保持不变 - 生命周期可能会在没有警告的情况下改变或提前到期 . 在处理错误下查看更多内容

    所以剩下的唯一方法就是使用代码重新生成 just before 60 days.

    发出GET请求以绘制api图并从JSON响应中过滤掉访问令牌

    在此处获取您的用户ID http://findmyfacebookid.com/

    现在

    请求

    GET /{user-id}/accounts
    

    响应

    {
      "data": [
        {
          "category": "Product/service",
          "name": "Sample Page",
          "access_token": "{access-token}",
          "id": "1234567890",
          "perms": [
            "ADMINISTER",
            "EDIT_PROFILE",
            "CREATE_CONTENT",
            "MODERATE_CONTENT",
            "CREATE_ADS",
            "BASIC_ADMIN"
          ]
        }, 
    }
    

    https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens

  • 4

    您可以使用来自facebook的以下api将令牌生命刷新到60天,并且当令牌即将到期时,在60天内再次调用相同的api,将其生命恢复到60天后,令牌过期时间为出现在expires参数中,其值以秒为单位

    将CLIENT_ID和CLIENT_SECRET替换为其实际值

    https://graph.facebook.com/oauth/access_token?client_id=&client_secret=&grant_type=fb_exchange_token&fb_exchange_token=

    在ACCESS_TOKEN中,输入实际的令牌值而不附加“access_token =”

  • 3

    您的页面访问令牌实际上不会过期 . 请阅读documentation

    扩展页面访问令牌应用程序可以在使用manage_pages权限进行身份验证时从页面管理员用户检索页面访问令牌 . 如果用于检索此页面访问令牌的用户访问令牌是短暂的,则页面访问令牌也将是短暂的 . 要获得更长寿命的页面访问令牌,请将用户访问令牌交换为长期访问令牌,如上所述,然后请求页面访问令牌 . 生成的页面访问令牌将没有任何到期时间 .

    因此,如果您使用长期存在的 user 访问令牌,您将获得无限的 page 访问令牌 .

相关问题