2017-04-27 8 views
1

FacebookとフレンドリストからユーザーIDを取得したい友達IDが&のプロフィール画像友達のURLです。私は最初、これはあまりにも友人のプロフィール画像のURLで友達リストを返しますが、ユーザー自身のFacebookのIDを返しませんiOSユーザーのFacebook IDとフレンドを取得していますプロフィール画像付きのリスト友だちのURL

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

で、2つのコードサンプルをしました。第二には、これは、ユーザーのFacebookのID、友達リストを返しますが、友人のプロフィール画像URLを返さない

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

です。ここで私を手伝ってもらえますか?両方のものを1回の呼び出しでどうやって得ることができますか?

+0

あなたが与えた許可を私に許可してもらえますか –

+0

@Bhupat Bheda権限は[@ "public_profile"、@ "email"、@ "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、友達リストを返しますが、友人のプロフィール画像URLは返さない」と書いています。 –

+0

ええ、これらのソリューションはどちらもうまくいきますが、これらの両方の出力を1つのクエリーに入れたいです。私はユーザーのID、友人のID、友達のプロフィールのURL、友人の名前が欲しい。 – 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に必要なデータがあります。

関連する問題