我正在使用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_token 和 expiry 时间以秒为单位
新访问令牌的到期时间现在是60天 .
现在可以延长超过60天的到期时间吗?
3 回答
Short-Term and Long-Term Tokens
用户访问令牌有两种形式:短期令牌和长期令牌 . 短命令牌的寿命通常约为 hour or two ,而长寿命令牌的寿命通常约为 60 days . 你不应该依赖这些生命周期保持不变 - 生命周期可能会在没有警告的情况下改变或提前到期 . 在处理错误下查看更多内容
所以剩下的唯一方法就是使用代码重新生成 just before 60 days.
发出GET请求以绘制api图并从JSON响应中过滤掉访问令牌
在此处获取您的用户ID http://findmyfacebookid.com/
现在
请求
响应
https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens
您可以使用来自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 =”
您的页面访问令牌实际上不会过期 . 请阅读documentation:
因此,如果您使用长期存在的 user 访问令牌,您将获得无限的 page 访问令牌 .