解析 - 用户在创建帐户手册后尝试使用FB登录 - iOS

时间:2014-03-27 22:29:17

标签: ios facebook parsing

我正在向用户提供手动注册或使用Facebook注册的选项(我正在使用Parse)。现在的问题是,如果用户手动注册然后尝试使用Facebook登录正在创建第二个帐户并将电子邮件valun保留为null(因为已经存在)。那么这个解决方案是什么?有官方解决方案吗?我尝试了一种解决方法:

FBRequest *requestEmail = [FBRequest requestForMe];

 [requestEmail startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

NSLog(@"Error %@",error);

NSDictionary *userData2 = (NSDictionary *)result;

NSString *email2=userData2[@"email"];

PFQuery *query = [PFUser query];
[query whereKey:@"email" equalTo:email2];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {


    NSString *emailQue =[object objectForKey:@"email"];

    if(error || (emailQue==NULL) || (emailQue==nil)){

        NSLog(@"User facebook account does not exist");
    }
    else{

        NSLog(@"User facebook email exist");
        NSLog(@"email %@",emailQue);
    }


}];
}];

失败(没有可用的活动令牌),我相信这不是正确的方法。即使这项工作,我也不能停止loginWithPermission一旦取消就创建新用户。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

如果您知道此用户是现有的PFUser,则可以将其Facebook帐户与其现有帐户相关联。这是一个受支持的Parse功能。

if (![PFFacebookUtils isLinkedWithUser:user]) {
    [PFFacebookUtils linkUser:user permissions:nil block:^(BOOL succeeded, NSError *error) {
        if (succeeded) {
            NSLog(@"Woohoo, user logged in with Facebook!");
        }
    }];
}

您可以使用

获取当前用户
PFUser *currentUser = [PFUser currentUser];

或者您甚至可以将匿名用户转换为Facebook用户。

https://parse.com/docs/ios_guide#fbusers-link/iOS