デバッグモードを有効にすると、グラフ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オブジェクトになります。
フィールド | データ型 | 説明 |
---|---|---|
message | 文字列 | メッセージ。 |
type | 文字列 | メッセージの重大度。 |
link | 文字列 | [任意] 関連情報を指すURL。 |
デバッグモードはグラフAPIエクスプローラでも使えます。
アプリのビルド中にグラフAPIリクエストを発行する場合、応答を返しているAPIバージョンを判別できると便利なことがあります。例えば、バージョンを指定せずに呼び出しを実行すると、応答しているAPIのバージョンが分からないかもしれません。
グラフAPIには、facebook-api-version
という、任意の応答で使えるリクエストヘッダーがあります。このヘッダーは、応答を生成したAPIの正確なバージョンを示します。例えば、v2.0のリクエストを生成するグラフAPI呼び出しでは、次のHTTPヘッダーが生成されます。
facebook-api-version:v2.0
このfacebook-api-version
ヘッダーを使えば、API呼び出しで返される応答が予期したバージョンのものかどうかを判別できます。
グラフAPIでバグを報告する際には、バグレポートと一緒に、問題の特定や再現に役立つ追加のリクエストヘッダーを含めて送信してください。これらのリクエストヘッダーは、X-FB-Debug
、x-fb-rev
、X-FB-Trace-ID
です。