1

我無法理解如何處理當您對Facebook進行API調用時的響應。應該提及我是JavaScript新手。Facebook Javascript SDK:處理來自Facebook的響應

說我想讓我和一些用戶之間的共同朋友,然後把它寫到一個文本框。我投了一個球,最終以失敗告終。我很確定這是因爲我沒有解析這個答案,但我無法弄清楚。我曾經見過類似於query.wait(function(rows){的FQL查詢......但我不知道這意味着什麼......所以我跳過了它。

function getMutual(){ 

    FB.api('/me/mutualfriends/'+target, function(response) { 

      document.getElementById('debug').innerHTML = 
      'FQL Information: '+ response +"<br />"; 
    }); 
} 

回答

2

在您的回調函數function(response) {的開頭,請執行debugger;語句以啓動d在瀏覽器中調試,或者您可以執行console.dir(response);來查看對象結構。一半你的戰鬥學習javascript正在學習如何使用現代瀏覽器現在已經內置的一些強大的工具。

+0

謝謝!對不起,以前的混亂。 – JoshDG 2012-02-03 06:09:10

+0

你會到達那裏。需要時間。因爲你的第一個JavaScript項目與Facebook整合是一個了不起的選擇,因爲它們都有陡峭的學習曲線。 – DMCS 2012-02-03 14:49:00

1

響應將返回以下數據:

{ 
    "data": [ 
    { 
     "name": "XXX", 
     "id": "YYY" 
    }, 
    { 
     "name": "ZZZ", 
     "id": "OOO" 
    }, 
    ... 
} 

爲了通過JS得到的信息, 可以迭代陣列response.data

例如response.data [0] .name return XXX

+0

似乎很簡單!出於好奇,你能向我解釋query.wait(函數(行)的東西是如何工作的嗎?我在一個fql的例子中看到它......如果我沒有任何意義,請告訴我:) – JoshDG 2012-02-03 06:11:29

+2

是的,大多數的響應數據可以像這樣由JS讀取。正如DMCS提到的,您可以記錄響應以查看結構,FB文檔不提供有關響應的更多信息。 我之前沒有嘗試過FQL方法,可能您可以嘗試在此處閱讀它:http://stackoverflow.com/questions/5773841/using-fb-data-query-not-getting-any-response - 只需在本網站快速搜索即可。 query.wait是一個回調,就像Graph API的function(response){}一樣。行是包含結果數據的數組 – Hanon 2012-02-03 06:22:52