8

我正在使用 parse.com 的 api 并尝试将当前活跃的用户链接到他的 facebook 帐户。

我一直在胡说八道:

Another user is already linked to this facebook id

至于我的问题:如何获取用户连接的 facebook id?我想用活动和登录用户切换我当前的匿名用户。

谢谢

4

4 回答 4

13

我通过注销当前用户然后登录解决了这个问题。效果很好。

[PFFacebookUtils linkUser:[PFUser currentUser] permissions:permissionsArray block:^(BOOL success, NSError *error) {
    if (!success) {
        if (!error) {
            NSLog(@"User Cancelled");
        } else {
            if(error.code == 208) {
                [PFUser logOut];
                [PFFacebookUtils logInWithPermissions:permissionsArray block:^(PFUser *user, NSError *error) {
                    if(error) {
                        NSLog(@"An error occurred: %@", error);
                    } else {
                        // Carry on
                    }
                }];
            } else {
                NSLog(@"An error occurred: %@", error);
            }
        }
    } else {
        // Carry on
    }
}];
于 2013-04-28T12:15:41.167 回答
2

您可以忽略它,因为它是通知您 Facebook 帐户已链接(在您的情况下是匿名用户)的警告,而不是错误。

最后分配的用户将链接到 Facebook 帐户。因此,即使会发出警告以通知您匿名用户已链接到同一个 facebook 帐户,您的初衷 - “将当前活跃的用户链接到他的 facebook 帐户”仍然有效。

为避免此警告,请始终在将 Facebook 用户与当前活动用户关联之前注销匿名用户。

于 2014-01-23T03:18:15.853 回答
0

我遇到了同样的问题,解决方案更好,忽略这个错误。这是一种警告。它被抛出,但用户被链接到另一个帐户。

于 2013-06-16T20:29:27.643 回答
-1

当您尝试像这样链接时,检查您是否在请求权限:

[PFFacebookUtils linkUser:[PFUser currentUser] permissions:[NSArray arrayWithObjects:@"publish_stream",@"publish_actions", @"user_about_me", @"user_photos", @"read_stream",@"friends_photos",@"email",@"user_birthday",@"user_location", nil] block:^(BOOL succeeded, NSError *error) {
            if (succeeded) {
                [self login:nil];
                NSLog(@"Woohoo, user logged in with Facebook!");
            }else{
                 NSLog(@"%@", [[error userInfo] objectForKey:@"error"]);

                    NSLog(@"An error occurred: %@", error);

            }
        }];

就我而言,我通过 nil 参数获取权限。可能对其他人有帮助

于 2014-01-28T10:17:13.707 回答