我正在使用facepy facebook api 从我的 facebook 帐户中获取消息。我long live access token
使用 API 的有效期为 60 天。现在,在我的程序中查询消息之前,我想检查我的令牌是否已过期,如果过期则获取一个新的。
我正在使用 get_extended_access_token,它还返回一个描述令牌何时过期的日期时间实例。现在我认为这不是一种有效的使用方式,get_extended_access_token
因为每次我要查询新消息时,它也会获取access token
(我知道它和以前一样)但我认为这是一个开销。
所以,我用谷歌搜索,发现我们也可以使用
https://graph.facebook.com/debug_token?input_token=INPUT_TOKEN&access_token=ACCESS_TOKEN
调试令牌
所以我提供了我的long live access token
代替,INPUT_TOKEN and ACCESS_TOKEN
它给了我一个 json 响应:
{
"data": {
"app_id": XXXXX,
"is_valid": true,
"application": "YYYYY",
"user_id": ZZZZZZ,
"issued_at": 1349261684,
"expires_at": 1354445684,
"scopes": [
"read_mailbox"
]
}
}
现在,如果您查看expires_at
它显示的字段1354445684 seconds
,当我尝试将其转换为天/月时,它给了我15676 days
,当我使用它显示的调试选项在图形资源管理器中检查相同的标记时
expires_at: 1354445684(about 2 months)
现在,我不明白的是如何1354445684
等效于2 months
以及如何在 python 中实现这一点。
还评论哪个是检查令牌是否过期的更好方法API or using the facebook url
?