啟用「偵錯模式」後,圖形 API 回應可能會包含更多欄位,用於說明與要求相關的潛在問題。
若要啟用偵錯模式,請使用 debug
查詢字串參數。例如:
curl -i -X GET \
"https://graph.facebook.com/{user-id}
?fields=friends
&debug=all
&access_token={your-access-token}"
在未獲授予 user_friends
權限的情況下,會產生下列回應:
{ "data": [ ], "__debug__": { "messages": [ { "message": "Field friends is only accessible on User object, if user_friends permission is granted by the user", "type": "warning" }, { "link": "https://developers.facebook.com/docs/apps/changelog#v2_0", "message": "Only friends who have installed the app are returned in versions greater or equal to v2.0.", "type": "info" } ] } }
您可以將 debug
參數值設為「all」(全部),也可以對應訊息的 type
,設定為所要求的最低嚴重等級:
偵錯參數值 | 傳回的結果 |
---|---|
all | 所有可用的偵錯訊息。 |
info | 類型為「info」(資訊)或「warning」(警告)的偵錯訊息。 |
warning | 只傳回類型為「warning」(警告)的偵錯訊息。 |
如果有偵錯資訊,系統會在 messages
陣列的 __debug__
索引鍵底下,以 JSON 物件的形式傳回偵錯資訊。此陣列的每個元素都是 JSON 物件,且包含下列欄位:
欄位 | 資料類型 | 說明 |
---|---|---|
訊息 | 字串 | 訊息。 |
類型 | 字串 | 訊息嚴重等級。 |
連結 | 字串 | [選用] 指向相關資訊的網址。 |
您也可以同時使用圖形 API 測試工具和「偵錯模式」。
當您在建置應用程式並發出圖形 API 要求時,判斷傳送回應的來源 API 版本可能會很有幫助。例如,若您在未指定版本的情況下發出呼叫,可能就不會知道是哪一個 API 版本發出回覆。
圖形 API 會在提供的要求標頭中包含名稱是 facebook-api-version
的所有回應,這個標頭會註明產生該回應的確切 API 版本。例如,使用 2.0 版發出要求的圖形 API 呼叫會產生以下 HTTP 標頭:
facebook-api-version:v2.0
您可以憑這個 facebook-api-version
標頭判斷傳回 API 呼叫的版本是否符合您所預期。
回報圖形 API 的故障時,我們會在傳送的故障報告中附上一些其他的要求標頭,以利協助我們找到並重現您提出的問題。這些要求標頭為 X-FB-Debug
、x-fb-rev
和 X-FB-Trace-ID
。