2015-02-14 4 views
1

Как я могу получить идентификатор Facebook, который «связал» свою учетную запись Facebook с моим приложением «Анализ»? Я вижу, что есть столбец authData, но когда я запрашиваю класс, он возвращает только столбцы выбора. Как я могу это сделать?Как я могу получить идентификатор пользователя FB в Parse? Могу ли я получить доступ к AuthData?

ответ

5

Вы facebook идентификатор пользователя с помощью разобрана собственного метода с facebook API FBRequestConnection

[PFFacebookUtils logInWithPermissions:[NSArray arrayWithObject:@"email"] block:^(PFUser *user, NSError *error) { 
    if (!user) { 
     NSLog(@"Uh oh. The user cancelled the Facebook login."); 
    } else if (user.isNew) { 
     NSLog(@"User signed up and logged in through Facebook!"); 
     [FBRequestConnection startWithGraphPath:@"/me" 
            parameters:nil 
            HTTPMethod:@"GET" 
           completionHandler:^(
                FBRequestConnection *connection, 
                id result, 
                NSError *error 
               ) { 
            NSString *facebookID = result[@"id"]; 
            NSString *nameF = result[@"first_name"]; 
            NSString *nameL = result[@"last_name"]; 
            NSString *gender = result[@"gender"]; 
            NSString *email = result[@"email"]; 

            NSURL *pictureURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookID]]; 
            NSData *imageData = [NSData dataWithContentsOfURL:pictureURL]; 
            //UIImage *fbImage = [UIImage imageWithData:imageData]; 

            PFFile *imageFile = [PFFile fileWithName:@"Profileimage.png" data:imageData]; 
            PFUser *user = [PFUser currentUser]; 
            user[@"email"] = email; 
            user[@"User_first_name"] = nameF; 
            user[@"User_last_name"] = nameL; 
            user[@"User_gender"] = gender; 
            user[@"user_image"] = imageFile; 
            [user saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
             if (!error) { 
              // The currentUser saved successfully. 
             } else { 
              // There was an error saving the currentUser. 
             } 
            }]; 
            /* handle the result */ 
           }]; 
    } else { 

    } 
}]; 

В этом вы можете видеть, что я получить полный профиль пользователя .. Спасибо, Может быть помощь полный для вас ..

Смежные вопросы