After disabling offline_access and removing the app from app settings I no longer get an extended access token
**看来这是Facebook自此以来已修复的错误。
我禁用了offline_access,这样我可以获取扩展的访问令牌而无需征求offline_access许可。
虽然进行测试,但起初似乎效果很好。我获得了一个在60天内过期的令牌。然后,我从Facebook的应用设置中删除了该应用,因此可以进行测试。删除它后,我开始获得在2小时内到期的令牌。
这是一个错误吗?或者,也许这是安全的事情,例如,一旦删除应用程序,设置了不允许扩展令牌的标志?来自Facebook的人请帮助我。
编辑:我忘了提到这是针对iOS应用程序的,并且我使用的是最新的Facebook iOS SDK(支持扩展令牌)。在使用户登录后,我调用了extendAccessToken方法,但是我仍在获取一个在不到2小时内到期的accessToken。
- 其正常行为。如果没有offline_access访问令牌超时约为2小时。
-
@iddqd签出此页面,一旦弃用offline_access权限,该页面就不再正确。 developers.facebook.com/docs/offline-access-deprecation
-
看来这是Facebook方面的错误,现在可以正常工作(即使我从应用程序设置中删除了该应用程序,我现在也可以获得60天的访问令牌)。
这似乎是Facebook自此以来已修复的错误。
-
我仍然可以通过iOS SDK获得短访问令牌。在applicationDidBecomeActive中调用extendAccessTokenIfNeeded似乎没有任何作用...
如果您的应用需要,您应该使用2小时的令牌并将其转换为60天的令牌。
- 抱歉@DMCS,我忘了提到我使用Facebook iOS SDK。香港专业教育学院编辑我的问题,以反映这一点。我在SDK中调用了extendAccessToken方法,该方法本来可以扩展我的访问令牌,但是我仍然得到一个在不到2小时内过期的令牌。
-
进一步看一下SDK,我看到它调用了旧的REST API的auth.extendSSOAccessToken方法,而不是图形api中的oathaccesstoken,就像在此页面上一样:developers.facebook.com/docs/offline-access-deprecation。我不知道这是否是部分原因,但似乎SDK应该可以正常工作。有什么想法吗?
-
自己调用文档中指定的url,这样您就可以使用它。谁知道,也许他们将来会更新iOS SDK。
-
抱歉@DMCS,它没有。我认为这是Facebook方面的错误。对于iOS应用程序,您不必将2小时令牌转换为60天1天令牌。我最初会获得60天的令牌,但是从我的Facebook帐户中删除了该应用后,我又获得了2小时的令牌。尝试转换它们不起作用。
如果您在developers.facebook.com上的"应用程序的高级设置"中将应用程序类型设置为"本机/桌面"而不是Web,则extendAccessToken方法当前返回的令牌将在1天左右到期仅2小时。
我希望可以有一个更长的有效期限,但是到目前为止还没有运气。
-
嗨,史蒂芬,看来这是Facebook方面的错误,已经修复。我回到了连接点获得60天的访问令牌。
-
我仍然收到不到1天就会过期的令牌。您的iOS应用程序详细信息是否已在Facebook开发者网站中完整输入是否重要?只是要确保您使用的是facebook-ios-sdk,而不是使用offline_access?谢谢
-
更新:我现在获得的令牌具有更长的到期时间。谢谢。
-
我看到它为您工作,但如果其他人有相同的问题:我确实在fb开发站点上输入了我的iOS详细信息,并使用facebook-ios-sdk即时通讯,并且在fb开发站点中将deprecate offline_access设置设置为on。
-
是我还是他们将其更改为在1天内过期?
-
另外-似乎扩展令牌的调用实际上没有返回与初始auth调用不同的到期时间。
-
在我明确注销并再次登录后的60天,我设法成功了。
-
我不到2个小时,无法继续工作,这是怎么回事?
-
我的猜测是,首先要检查您是否已在developer.facebook.com/apps上的Facebook中设置了应用程序,以及"设置">"高级"部分中的设置是否已设置为适合您的值。