我正在使用 Android Facebook SDK 在 Android 应用程序上开发 Facebook 集成。
我正在使用 Session.openActiveSession(this, true, facebookSessionChangeCb);
调用登录我的用户,如 Facebook 的 Android 文档中所述。
大多数作品都表现出色。但有一个问题,重现如下:
1) 我在 Android 设备上安装 native Facebook 应用,并登录 native 应用。
2) 我还在互联网浏览器上导航至设置并将平台关闭,如下面的屏幕截图所示。
3) 然后,我尝试使用 Android Facebook SDK 登录具有 Facebook 集成的 native Android 应用。
然后我得到堆栈跟踪
02-13 15:27:54.687: W/fb4a(:<default>):BlueServiceQueue(16890): Exception during service
02-13 15:27:54.687: W/fb4a(:<default>):BlueServiceQueue(16890): com.facebook.http.protocol.ApiException: Service temporarily unavailable
02-13 15:27:54.687: W/fb4a(:<default>):BlueServiceQueue(16890): at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83)
02-13 15:27:54.687: W/fb4a(:<default>):BlueServiceQueue(16890): at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162)
02-13 15:27:54.687: W/fb4a(:<default>):BlueServiceQueue(16890): at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:158)
02-13 15:27:54.687: W/fb4a(:<default>):BlueServiceQueue(16890): at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:274)
...
02-12 18:36:42.928: W/fb4a(:<default>):GDPDialog(5750): Failed to send
02-12 18:36:42.928: W/fb4a(:<default>):GDPDialog(5750): com.facebook.fbservice.service.ServiceException: API_ERROR: API_ERROR
02-12 18:36:42.928: W/fb4a(:<default>):GDPDialog(5750): at com.facebook.fbservice.ops.BlueServiceOperation.c(BlueServiceOperation.java:640)
此异常声称是暂时不可用的类型异常,但显然不是,因为它会无限期地保持这种状态。
这是一个问题:我不想将其视为 503,因为它总是会失败,并且我最终会向用户发送一条可怕的错误消息,或者更糟糕 “稍后再试”,正如异常(exception)所暗示的那样,这只是误导用户。
问题是:我做错了什么吗?我在某些方面是不是很迟钝?如果没有,有解决方法吗?以前有人遇到过这个问题吗?我在 SO 上找不到这个堆栈。如果这是正常的,人们如何向这里的用户发送消息?重要的是,我们能否区分这种情况与真正的临时服务故障,以便我可以告诉我的用户出了什么问题?
提前非常感谢!
(下面的屏幕截图让您知道我指的是什么)
最佳答案
一个月过去了,看来这确实是不可避免的了!
能够在浏览器中关闭“平台”是 Facebook 隐私服务的一部分。它经常被认为是一种能够 Conceal 应用邀请等的方法。
我的最佳猜测是,提供一个不指示用户已执行操作的状态代码是有意义的,作为一种安全措施,使用户远离应用程序。
一个好的解决方案是在您的文档中添加有关 Facebook 平台设置的部分(如果您有)。
关于android - 在浏览器中打开 "Platform off"后登录时持续出现 Facebook SDK http.protocol.ApiException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21759227/