有效期较长的 Facebook 访问令牌
Posted
技术标签:
【中文标题】有效期较长的 Facebook 访问令牌【英文标题】:Facebook access Token with longer expiration 【发布时间】:2012-02-20 07:26:33 【问题描述】:我正在尝试关注this tutorial 获取具有更长过期时间的令牌。 Facebook 连接是在客户端(Js sdk)上完成的。我采取的步骤是:
在我的应用设置页面上启用了“弃用 offline_access” 正常检索 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=access_token"这总是返回相同的完全相同的访问令牌,过期 2 小时,它不应该返回一个有效期为 60 天的令牌(与 access_token 相同或不同)吗?
谢谢
【问题讨论】:
【参考方案1】:您可以使用 HTTP DELETE 以编程方式将 2 小时令牌设置为已过期 me/permissions
,这将强制用户重新验证您的应用。这应该会给你一个 60 天的令牌。
【讨论】:
【参考方案2】:截至目前,根据我的经验,在启用“弃用离线访问”设置后添加应用程序的新用户似乎会返回 60 天令牌。在设置“不推荐使用的offline_access”设置之前,老用户似乎停留在 2 小时的生命周期。
我还有一些测试似乎表明,除了“不推荐使用的offline_access”设置之外,还需要设置“增强的身份验证对话框”设置才能获得长期存在的令牌。
【讨论】:
太棒了!非常感谢@Greg_Whalin,“增强的身份验证对话框”确实是必要的 同样使用客户端(桌面)身份验证,同时启用“弃用离线访问”和“增强的身份验证对话框”。在整个身份验证过程之后,我获得了有效期为 60 天的访问令牌。但是我无法通过调用提到的端点来延长有效期。它总是返回具有相同有效期 我有这两个设置,我得到了一个 60 天的令牌。但在那之后我从我的应用设置中删除了该应用,现在我只得到了 2 小时的令牌 :( 有什么想法吗? 甜蜜。对我来说,从用户那里删除应用程序并再次添加它似乎可以解决问题。以上是关于有效期较长的 Facebook 访问令牌的主要内容,如果未能解决你的问题,请参考以下文章