gpt4 book ai didi

android - Facebook Graph 错误消息的可靠性

转载 作者:行者123 更新时间:2023-11-29 14:04:14 26 4
gpt4 key购买 nike

是否有可靠的方法从 facebook 平台获取访问 token 错误?

我们的 iOS/Android 应用程序需要保存用户的 Facebook session 。这很好,只是我们从 Facebook 获得的身份验证错误似乎不一致。

本质上,如果我们从 Facebook 收到错误,我们想知道这是否需要用户重新进行身份验证,或者是否由于间歇性错误(即由于某种原因它们被速率限制)。

大多数 facebook 图形错误似乎都在错误消息文本的正文中包含错误代码。

有些没有。

例如

{"error":{"message":"Error validating access token: The session is invalid because the user logged out.","type":"OAuthException"}}

不包含错误代码,因此检查此错误的唯一方法是对“消息”进行字符串比较。这似乎是一种非常不可靠的错误检查方法。

似乎~几乎~可以检查 json 字符串中的“type”变量是否指示“OAuthException”,除了如果用户速率受限,那么也会抛出 OAuthException 但它不会不需要用户重新登录,只需要他们稍等片刻就可以停止发帖了。

我已经看到此处列出的操作方法:https://developers.facebook.com/blog/post/500但这仍然会有问题,如果用户碰巧过于热衷于在他们的墙上发帖,我的游戏将要求他们重新登录 facebook。

那么,是否有可靠的方法从 facebook 平台获取错误信息?

现在我能找到的最佳解决方案是解析消息字符串以获取错误代码,如果我没有找到任何错误代码,则重新解析字符串以查找特定消息(例如“错误验证访问 token ”),最后如果我不能确定错误是什么,只是 panic 并注销用户。

最佳答案

不幸的是,我还没有找到处理这个问题的好方法。到目前为止,我发现的最佳解决方案是查看错误是否为 OAuthException,将错误消息与不需要重新验证的“可接受的失败”白名单进行比较,但如果错误与这个白名单,我假设用户必须重新通过 Facebook 进行身份验证。

作为引用,我发现唯一可以列入白名单的错误是“用户速率受限”错误。为了检测到这一点,我检查错误消息是否包含子字符串“(#341)”,这是此错误的错误代码(并不是说此错误是错误消息中包含错误代码的少数错误之一正文)。

关于android - Facebook Graph 错误消息的可靠性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8032902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com