API 无效的随机 Facebook iOS SDK 身份验证令牌

Posted

技术标签:

【中文标题】API 无效的随机 Facebook iOS SDK 身份验证令牌【英文标题】:Random Facebook iOS SDK auth token invalidated by API 【发布时间】:2011-07-29 20:44:00 【问题描述】:

尝试使用 Facebook ios SDK 从我的 iPhone 访问图表时,我随机收到以下消息:

响应字符串:"error":"type":"OAuthException","message":"验证访问令牌时出错:使用 API 调用显式地使会话无效。"

我不确定为什么会这样,因为我在登录后立即调用了图表,所以令牌应该是有效的。此外,这大约有 30% 的时间随机发生。有谁知道如何调试这个问题?

【问题讨论】:

【参考方案1】:

我也遇到过同样的问题。在成功注销回调后立即调用授权后的任何图形请求都会发生这种情况(想法是其他用户可以从那里登录)。

授权屏幕会显示用户已经接受了权限(即使他们现在应该退出......),如果他们点击确定,就会导致问题。几乎就像 auth 进程重新发出一个无效的令牌一样,因为它没有得到他们已经注销的备忘录。但是,如果用户点击“不是你?”就不会发生这种情况。链接并按预期以其他人身份登录(或者如果他们以同一用户身份再次登录),因此在我的情况下这不是主要问题。

至于答案/修复,我通过检测来自图形调用的错误响应然后再次调用授权来自行修复。但并不理想,因为它会通过两次连续的应用切换来惹恼用户......

【讨论】:

是的。我做了同样的事情..希望他们修复它。 这种奇怪的行为。 FB JS-SDK 和omniauth 有同样的问题。如果我取消了应用程序的权限,然后尝试重新登录,我就会遇到问题。如果我拒绝,退出,使用应用程序重新登录,我不会。因此,facebook 将某些内容与您登录的“会话”相关联,该会话在调用 FB.Login 并获得响应时被缓存。

以上是关于API 无效的随机 Facebook iOS SDK 身份验证令牌的主要内容,如果未能解决你的问题,请参考以下文章

Facebook api 集成,用于登录 iOS 应用程序超过 2 个使用相同 Facebook 应用程序 ID 的应用程序

Facebook api,business_management 的范围无效?为啥?

Facebook PHP API 错误代码 100:API 中提供的 appsecret_proof 无效

Facebook Graph API - 组权限 - 授权时抛出“无效范围”错误

在 Facebook Marketing api 中创建 geo_locations 定位规范时获取无效的参数响应

clang 错误 -miphoneos-version-min=.sd 中的版本号无效