Facebook不会在一个特定帐户上登录

时间:2013-06-28 03:55:17

标签: ios facebook

我们最近实施了Facebook SDK。对于我们所有的团队和测试人员,他们可以毫无问题地登录;但对于一个团队成员,它总是给'用户取消登录错误' - 这对我在西海岸并且他在东海岸是没有帮助所以我无法调试它 - 但是我确实有以下通过TestFlight打印出错误...

  

2013-06-27 20:33:27 facebookFirstTimeLogInUserCanceled错误:错误   Domain = com.facebook.sdk Code = 2“无法完成操作。

     

(com.facebook.sdk错误2.)“UserInfo = 0x1e5d3790

     

{com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk:SystemLoginCancelled,   com.facebook.sdk:ErrorInnerErrorKey = Error Domain = com.apple.accounts   Code = 7“Facebook服务器无法满足此访问请求:   服务暂时不可用“UserInfo = 0x1f0761c0   {NSLocalizedDescription = Facebook服务器无法满足此要求   访问请求:服务暂时不可用},   com.facebook.sdk:ErrorSessionKey =,   expirationDate:(null),refreshDate:(null),attemptsRefreshDate:   0001-12-30 00:00:00 +0000,权限:(null)>}

     

2013-06-27 20:33:35错误Domain = com.facebook.sdk Code = 5“The   操作无法完成。 (com.facebook.sdk错误5.)“

     

UserInfo = 0x1e5c2190 {com.facebook.sdk:ParsedJSONResponseKey = {body =   {error = {code = 2500; message =“必须有一个活动的访问令牌   用于查询有关当前用户的信息。“; type =   OAuthException; }; };代码= 400; },   com.facebook.sdk:HTTPStatusCode = 400} 2013-06-27 20:33:35意外   错误:错误Domain = com.facebook.sdk代码= 5“操作不能   完成。 (com.facebook.sdk错误5.)“UserInfo = 0x1e5c2190   {com.facebook.sdk:ParsedJSONResponseKey = {body = {error = {code =   2500; message =“必须使用活动访问令牌进行查询   有关当前用户的信息。“; type = OAuthException;};};   代码= 400; },com.facebook.sdk:HTTPStatusCode = 400}

     

2013-06-27 20:33:44 TestFlight:会话结束

3 个答案:

答案 0 :(得分:2)

我们确实遇到了一些问题:每个人都可以登录 - 除了一个用户,当他想通过Facebook内置于iOS 6中的登录对话框登录时收到以下错误消息:

The operation couldn’t be completed. (com.facebook.sdk error 2.) FBErrorCategoryUserCancelled

当我们无法弄清楚为什么系统登录被取消(SystemLoginCancelled)和The Facebook server could not fulfill this access request时,我们决定传递iOS 6本机身份验证并使用快速应用切换。
绕过iOS 6本机身份验证可以使用FBSession(不幸的是已弃用)类方法来完成

+ (BOOL)openActiveSessionWithPermissions:(NSArray*)permissions
                            allowLoginUI:(BOOL)allowLoginUI
                       completionHandler:(FBSessionStateHandler)handler;

此方法调用

+ (BOOL)openActiveSessionWithPermissions:(NSArray*)permissions
                            allowLoginUI:(BOOL)allowLoginUI
                      allowSystemAccount:(BOOL)allowSystemAccount
                                  isRead:(BOOL)isRead
                         defaultAudience:(FBSessionDefaultAudience)defaultAudience
                       completionHandler:(FBSessionStateHandler)handler;

第三个参数(allowSystemAccount)设置为NO,这会导致应用程序重新开启快速应用切换。

当用户再次尝试登录时,出现以下消息:

enter image description here

事实证明,该用户已关闭平台应用程序,这阻止了我们的应用程序整合Facebook。重新启动平台应用程序后,登录终于正常工作。

在Facebook中,您可以转到Privacy Settings并从主菜单中选择Apps来启用平台应用程序。现在,您可以点击Edit以显示一个显示Turn On Platform的按钮。

答案 1 :(得分:0)

我最近在我正在处理的应用程序中看到com.facebook.sdk错误2消息,结果对我来说,问题是用户在没有意识到的情况下拒绝了facebook访问我们的应用程序。让您的用户进入设置 - > Facebook并查看您的应用是否在列表中,并确保开关已打开。

答案 2 :(得分:0)

平台事件可能就是这种情况,或者用户可能还没有接受邀请。虽然通过Facebook应用程序和浏览器登录工作,但这不是。他必须转到https://developers.facebook.com,转到应用并接受邀请。