В режиме отладки ответы API Graph могут включать в себя дополнительные поля с описанием возможных проблем с запросом.
Чтобы включить режим отладки, используйте в строке запроса параметр 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) сообщения.
| Значение параметра debug | Возвращаемые сообщения |
|---|---|
all | Все доступные отладочные сообщения. |
info | Отладочные сообщения типов info (информация) и warning (предупреждение). |
warning | Только отладочные сообщения типа warning (предупреждение). |
Отладочная информация возвращается в виде объекта JSON в ключе __debug__ массива messages. Каждый элемент этого массива представляет собой объект JSON со следующими полями:
| Поле | Тип данных | Описание |
|---|---|---|
message | Строка | Сообщение. |
type | Строка | Степень серьезности сообщения. |
link | Строка | (Необязательно) URL, по которому можно получить дополнительную информацию. |
Режим отладки можно использовать и с Graph API Explorer.
Если ваше приложение выполняет запросы к API Graph, бывает полезно знать, какая именно версия API возвращает ответы. Например, вы можете не знать версию API, если не указываете ее в вызовах.
API Graph добавляет в каждый ответ заголовок запроса facebook-api-version. В нем указывается, какая именно версия API вернула ответ. Например, при вызове API Graph версии 2.0 будет получен такой заголовок HTTP:
facebook-api-version:v2.0
По заголовку facebook-api-version можно определить, получаете ли вы ответы от нужной версии API.
Когда вы сообщаете об ошибке в API Graph, в отчет добавляется ряд дополнительных заголовков. Они помогают нам выявить и воспроизвести проблему. Это заголовки X-FB-Debug, x-fb-rev и X-FB-Trace-ID.