2017-04-27 110 views
1

我想從Facebook和朋友列表中獲取用戶標識,與朋友編號&資料圖片朋友的網址。我有兩個代碼示例,首先是iOS獲取用戶的Facebook ID和朋友列表與個人資料圖片朋友的網址

NSDictionary *params = @{@"fields": @"name, id, picture"}; 
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"/me/friends" parameters:params HTTPMethod:@"GET"]; 

這將返回在朋友的個人資料圖片URL好友列表中了,但是不返回用戶自己的Facebook ID。二是

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"/me" parameters:@{@"fields": @"id,name,friends, picture"}] 

這將返回用戶的Facebook ID,朋友列表,但不返回朋友的個人資料圖片網址。你能幫助我嗎?我怎樣才能在一個電話中得到這兩件事?

+0

你能告訴我你是什麼人給了 –

+0

@Bhupat Bheda權限是許可[@ 「public_profile」,@ 「電子郵件」,@ 「user_friends」] – Zubair

+0

可能使用範圍擴大,HTTPS的權限://developers.facebook .com/docs/graph-api/using-graph-api /#fieldexpansion – CBroe

回答

2

請使用下面的代碼片段:

-(void)getFacebookFriednData{ 

    FBSDKLoginManager *fbSdkLoginManager = [[FBSDKLoginManager alloc] init]; 
    [fbSdkLoginManager logOut];  
    [fbSdkLoginManager logInWithReadPermissions:@[@"email",@"public_profile",@"user_friends"] fromViewController:self handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
     if (!error) { 
      if (!result.isCancelled) { 
       NSDictionary *params = @{@"fields":@"id,name,email,picture,friends"}; 
       FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] 
               initWithGraphPath:@"me" 
               parameters:params 
               HTTPMethod:@"GET"]; 
       [SVProgressHUD show]; 
       [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { 
        [SVProgressHUD dismiss]; 
        if (!error) { 

         NSLog(@"%@",result); // here u get all require data    
        } 
       }]; 
      } 
     }else{ 
      NSLog(@"%@",error.localizedDescription); ?/ Handle Error Here. 
     } 
    }]; 

} 
0

您可以使用此代碼:

NSString *pictureURL = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?type=large&return_ssl_resources=1", facebookID]; 
+0

在我的問題中,我寫了解決方案1給我的照片,但它確實返回了我用戶自己的ID,名稱,圖片等。我想要用戶ID和他朋友的用戶ID。 – Zubair

+0

在你的問題中,你寫道:「這將返回用戶的Facebook ID,朋友列表,但不會返回朋友的個人資料圖片網址。」 –

+0

是的,這兩個解決方案都工作正常,但我希望這兩個輸出在一個查詢。我想要用戶自己的ID,朋友ID,朋友個人資料圖片網址,朋友的名字。 – Zubair

1

SWIFT 3

這是我如何得到這個信息的朋友誰使用我的應用程序

if ((FBSDKAccessToken.current()) != nil){ 

    if let request = FBSDKGraphRequest(graphPath: "me/friends", parameters: ["fields": "email, name, gender, picture"]) { 
     request.start(completionHandler: { (connection, result, error) in 

      if (error == nil){ 
        guard let userInfo = result as? [String: Any] else { return } //handle the error 
        print("data------:\(userInfo)") 
      } else { 

        //handle any errors 

      } 
     } 
    } 
} 

userInfo具有您需要的數據。

相關問題