我正在使用parse.com的api并尝试将当前活跃的用户链接到他的Facebook帐户。
我一直在努力:
Another user is already linked to this facebook id
关于我的问题:如何获取用户连接的脸书ID?我想用活跃的登录用户切换当前的匿名用户。
谢谢
答案 0 :(得分: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
}
}];
答案 1 :(得分:2)
您可以忽略它,因为它是一个警告,通知您Facebook帐户已经链接(在您的情况下,它是匿名用户),而不是错误。
最后分配的用户将链接到Facebook帐户。因此,您的初衷 - “将当前活动用户链接到他的Facebook帐户”仍然有效,即使会发出警告通知您匿名用户已链接到同一个Facebook帐户。
要避免此警告,请始终在将Facebook用户与当前活动用户关联之前注销匿名用户。
答案 2 :(得分:0)
我遇到了同样的问题,解决方案甚至更好,只是忽略了这个错误。这是一种警告。它被抛出,但用户被链接到另一个帐户。
答案 3 :(得分:-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 param的权限。可能对其他人有帮助