1

我使用Facebook的JavaScript SDK來檢查我的應用程序中註冊的用戶的朋友列表。Facebook的api朋友列表

我有這樣的電話:

 FB.getLoginStatus(function (response) { 
     if (response.status == 'connected') {  
      FB.api('me/friends', { fields: 'id, first_name, picture', limit: 6 },function(response){ 
        MY CODE TO VIEW FRIENDS PICTURE 
      }); 
     } 
     else{ 
       CODE TO GET ACCESS_TOKEN 
     } 
    }); 

但在大多數情況下,我得到一個API錯誤是這樣的:

response.error = { 
message: unkown error, 
code: undefined, 
type: http, 
subcode: undefined 
} 

我與我的帳戶測試,它工作得很好,即使我將隱私權限更改爲朋友分享。

我的代碼有問題嗎?

+0

你的JavaScript代碼中有一個語法錯誤,並不是所有的括號都被關閉。 – ThePCWizard

回答

1
FB.api('me/friends', { fields: 'id, first_name,picture', limit: 6 },function(response){ 

    console.log(response); 

    }); 

欲瞭解更多詳細信息,請使用Facebook的圖形API探索:Facebook Graph aPI

+0

使用圖表API瀏覽器(http://developers.facebook.com/tools/explorer)與圖片字段我獲得了正確的迴應:http://developers.facebook.com/tools/explorer?method=GET&path=me%2Ffriends %3Ffields%3Did%2Cpicture,所以我相信這不是問題。我也有同樣的錯誤與其他API像我/權限 –

+0

@AlessiaPileri,我想我得到了這個問題,你已經錯過了功能後的一個右括號(響應,把該支架,並嘗試一次 –

+0

是的,這裏沒有單詞響應後的括號,但在我的腳本中是正確的!不幸的是,我的問題並非如此簡單:( –

0

你爲什麼不使用與FB.api的FQL查詢?它提供了一個很好的控制。

以下FQL回報(用戶ID,名字和一個朋友的照片是誰使用的應用程序)

FB.api(
     { 
      method: 'fql.query', 
      query: 'SELECT uid,first_name,pic FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) and is_app_user limit 6', 
      access_token: token 
     } 

注意:您將能更好地使用這個條件

if (response && response.authResponse) { 

相反的:

if (response.status == 'connected') { 

問候,