我正在研究在我的所有用户即将到期之前从 cron 作业自动更新 Facebook access_tokens,作为其中的一部分,我一直在阅读以下有关离线访问的链接:https ://developers.facebook.com /roadmap/offline-access-removal/在链接中它显示以下内容:“注意:用户必须先访问您的应用程序,然后您才能获得有效的“授权码”才能进行服务器端 OAuth 调用再次。应用程序将无法设置尝试自动延长到期时间的后台/cron 作业,因为“授权码”是短暂的并且已经到期。”
为什么这里提到了授权代码,为什么如果相关的 access_tokens 仍然有效,为什么不能从 cron 作业中为我的用户自动更新 access_tokens?根据链接,以下是刷新access_token需要进行的调用:
https://graph.facebook.com/oauth/access_token?
client_id=APP_ID&
client_secret=APP_SECRET&
grant_type=fb_exchange_token&
fb_exchange_token=EXISTING_ACCESS_TOKEN
无需提供授权码。唯一需要的客户端特定信息是 EXISTING_ACCESS_TOKEN 参数。APP_ID 等其他参数只是应用程序特定的。任何关于我需要做什么来完成这项工作的建议都将不胜感激。
我浏览了有关此问题的现有帖子,并找到了一个解释,即当令牌已过期时,无法使用 cron 作业更新 access_tokens。但是,我的 access_tokens 仍然有效,因此不适用于我。