啟用「偵錯模式」後,圖形 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。