Parse.com -另一个用户已经链接到这个facebook id



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

我一直碰到:

Another user is already linked to this facebook id

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

谢谢

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

[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
    }
}];

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

最后分配的用户将链接到Facebook帐户。所以你的初衷——"将当前活跃用户链接到他的facebook账户"是有效的,即使一个警告会被提出,通知你匿名用户链接到同一个facebook账户。

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

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

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

[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参数的权限。也许对别人会有帮助

最新更新