我使用python在Facebook页面wallpost自动化工作
我有我自己的使用Facebook的图形API后所以,我这样做是通过发送一个HTTP POST请求的FB页面上自动发布https://graph.facebook.com/mypagename/feed
与和的access_token消息作为POST PARAMATERS
我通过使用图形API资源管理器中选择我的应用程序,我使用,并给予它的权限来管理我的网页生成的访问令牌
Intitially的使用的access_token要在2小时内到期
为了延长到期日〜2个月,我发送HTTP GET请求,该网址
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字符串以秒新的access_token和到期时间
新的访问令牌的到期时间现在是60天。
现在是有可能延长到期时间60天之后?
短期和长期令牌
用户访问令牌有两种形式:短期令牌和长寿命的令牌。 短暂的令牌通常有大约一两个小时的寿命,而长期令牌通常有60天左右了一辈子。 你不应该依赖于保持不变,这些寿命 - 寿命可能更改,恕不警告或提前到期。 参见下处理错误的更多。
那么剩下的唯一办法就是使用代码只是前60天再生。
使一个GET请求到图形API和从JSON响应滤除访问令牌
在这里获取你的用户标识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
您可以使用下面的API从Facebook刷新令牌生活60天,只是当令牌即将到期,:在再次调用相同的API 60天刷新其生活恢复到60天的时间点令牌到期是存在于到期参数和它的值是在几秒钟内
更换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”
你的页面访问令牌实际上不会过期。 请阅读文档 :
扩展页面访问令牌
当它们与manage_pages许可认证的应用程序可以检索页管理员的用户页面访问令牌。 如果用于检索此页面访问令牌的用户访问令牌是短暂的,页面访问令牌也将是短暂的。
为了得到长寿命的页面访问令牌,交换用户访问令牌的长寿命之一,如上,然后请求页面访问令牌。 结果页面访问令牌不会有任何的到期时间。
所以,如果您使用的是长寿命的用户访问令牌,你会得到一个无限页面访问令牌。
文章来源: Extending expiry date of facebook access token in graph api beyond 2 months