2016-08-12 87 views
-1

我使用這個代碼:如何獲得朋友的姓名

function login() { 

     FB.login(function(response) { 
      if (response.authResponse) { 
       console.log('Welcome! Fetching your information.... '); 

       FB.api('/me/friends', { 
        fields: 'id,name' 
       }, function(response) { 
        for (element in response) { 
         console.log(element.name); 
        } 
       }); 


      } else { 
       console.log('User cancelled login or did not fully authorize.'); 
      } 
     }, { 
      'scope': 'user_friends' 
     }); 
    } 

,但我在控制檯中這樣的響應:

Welcome! Fetching your information.... 
2 undefined 

爲什麼?

編輯:

我剛纔編輯上面的代碼:

function login() { 

     FB.login(function(response) { 
      if (response.authResponse) { 
       console.log('Welcome! Fetching your information.... '); 

       FB.api('/me/friends', { 
        fields: 'id,name' 
       }, function(response) { 
        console.log(response.summary); 
        console.log(response); 
        for (element in response.data) { 
         console.log(element.id); 
        } 
       }); 


      } else { 
       console.log('User cancelled login or did not fully authorize.'); 
      } 
     }, { 
      'scope': 'user_friends' 
     }); 
    } 

,但現在我得到這樣的迴應:

Welcome! Fetching your information.... 
Object {total_count: 58} 
Object {data: Array[0], summary: Object} 
+1

是什麼反應? – WizKid

+0

@WizKid剛剛編輯迴應的問題:) – xRobot

+0

的回覆是正確的,沒有你的朋友授權你的應用 – luschn

回答

1

這是不可能讓所有的朋友了。您只能獲得授權您的應用程序user_friends權限的朋友。

這將是正確的代碼:

FB.api('/me/friends', { 
    fields: 'id,name' 
}, function(response) { 
    for (element in response.data) { 
     console.log(element.name); 
    } 
}); 

的更多信息:Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app

+0

有沒有什麼辦法可以得到朋友的ID? – xRobot

+0

只有當該朋友授權您的應用時,您可以在我的答案中閱讀。在我的回答中也閱讀了接受的答案。 – luschn