簡體   English   中英

如何從 Facebook API 獲取完整的用戶詳細信息

[英]How to fetch complete user details from Facebook API

如何從 Facebook API 獲取完整的 userDetails

    - (void)viewDidLoad {
        [super viewDidLoad];

        // Uncomment to automatically sign in the user.
        _signInFacebook.delegate = self;
        _signInFacebook.readPermissions =  @[@"email",@"birthday"];

    }

- (void)  loginButton:(FBSDKLoginButton *)loginButton
didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
                error:(NSError *)error{
    NSLog(@"LOGGED IN TO FACEBOOK");
    [self fetchUserInfo];
}


-(void)fetchUserInfo {

    FBSDKAccessToken* token = [FBSDKAccessToken currentAccessToken];
    [[[FBSDKGraphRequest alloc] initWithGraphPath:[NSString stringWithFormat:@"/%@",token.userID] parameters:@{ @"fields":@"id,name,first_name,middle_name,last_name,email,gender,location,picture.type(large),age_range,verified,birthday"}  HTTPMethod:@"GET"]
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
         if (!error) {
             NSLog(@"fetched user:%@", result);

             if ([result isKindOfClass:[NSDictionary class]])
             {
                 NSLog(@"%@",result);
                 [USERDEFAULTS setObject:result forKey:PROFILE_KEY];
             }

         }
         else
         {
             NSLog(@"Error fetchUserInfo %@",error);
         }
     }];

}

期望從 facebook API 獲取手機號碼

您應該使用“圖片”而不是“照片”來獲取用戶個人資料照片。 您可以從 accessToken 中獲取用戶 ID,例如:

FBSDKAccessToken* token = [FBSDKAccessToken currentAccessToken];
NSString *ID = token.userID

登錄時:
要獲得生日,您需要“user_birthday”權限
要獲取位置,您需要“user_location”權限

在您的應用中實施之前,您可以在 Facebook Graph API Explorer 中測試所有內容。

登錄時請求權限,示例代碼:

FBSDKLoginManager* login = [[FBSDKLoginManager alloc] init];
[login logInWithReadPermissions:@[@"public_profile",@"email",@"user_birthday"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
    //your code to handle login result
}];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM