尝试使用 Parse PFFacebookUtils 登录 Facebook 时出现错误 307

Posted

技术标签:

【中文标题】尝试使用 Parse PFFacebookUtils 登录 Facebook 时出现错误 307【英文标题】:Getting Error 307 when trying to login with Facebook using Parse PFFacebookUtils 【发布时间】:2016-08-02 06:14:35 【问题描述】:

我正在尝试使用 Parse.com 的 PFFacebookUtilsV4 登录 Facebook。我正在使用他们的标准:

 PFFacebookUtils.logInInBackgroundWithReadPermissions(["public_profile"])

(用户,错误)在

当我在 iPhone 的设置中将我的 FB 帐户连接到我的 iPhone 时。我每次都收到代码 307(如下所示)的错误。如果我从 iPhone 的设置中删除 FB/iPhone 帐户连接,错误就会消失,并且会发生标准身份验证。我在手机上测试。我的手机上有 FB 应用程序,但这似乎不会影响错误。只需通过我的 iPhone 设置连接即可。

【问题讨论】:

你能分享更多关于你想要做什么以及你采取了哪些步骤的信息吗? @Singh 为您添加了更多信息。谢谢! 您使用的是什么版本的 Parse、PFFacebookUtils 和 FBSDK?它们都是最新的吗?我似乎记得他们放弃了本机登录,而是强迫每个人都使用 Safari 网络视图进行登录。您是否在强制它尝试使用哪种登录方法? 【参考方案1】:

深入挖掘堆栈跟踪后,我发现了一个不同的错误。这解决了它ios 6 Facebook posting procedure ends up with "remote_app_id does not match stored id"

【讨论】:

【参考方案2】:

以防万一有人在解析时使用 Facebook 登录时遇到任何其他错误,这就是我所学到的

将此密钥添加到您的解析服务器仪表板 FACEBOOK_APP_ID(靠近您添加 MASTER_KEY 的位置)

你将不得不从以下方法切换

[PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) 

首先执行标准的 Facebook 获取令牌

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions: @[@"public_profile"]
             fromViewController:self
                        handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) 
     if (error)        
         NSLog(@"Process error");       
      else if (result.isCancelled)      
         NSLog(@"Cancelled");     
      else    
         NSLog(@"Logged in");

         NSString *facebookUserId   = [FBSDKAccessToken currentAccessToken].userID;
         NSString *accessToken      = [FBSDKAccessToken currentAccessToken].tokenString;
         NSDate *expirationDate     = [FBSDKAccessToken currentAccessToken].expirationDate;

         [self loginFacebookUserWithTokenInfo:facebookUserId
                                  accessToken:accessToken
                               expirationDate:expirationDate];
     
 ];

然后您使用以下代码部分登录

[PFFacebookUtils logInWithFacebookId:facebookId
                         accessToken:accessToken
                      expirationDate:expirationDate
                               block:^(PFUser *user, NSError *error) 

                                       if (error)              
                                           NSLog(@"Error!");
                                        else 
                                           NSLog(@"User logged in through Facebook and parse!");
                                           // do as you please
                                       
                                   ];

【讨论】:

以上是关于尝试使用 Parse PFFacebookUtils 登录 Facebook 时出现错误 307的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 Parse PFFacebookUtils 登录 Facebook 时出现错误 307

尝试使用 Swift 从 Parse 显示图像时出现问题

尝试使用 PDF 加载 Webview,从 Parse 接收链接

使用 parse 确保用户存在

Parse.com 云代码 afterSave() 错误:“未捕获尝试使用指向新的未保存对象的指针保存对象。”

尝试保存对象时,parse.com“错误:未经授权”