Si el modo de depuración está activado, la respuesta de la API Graph puede contener campos adicionales que explican posibles problemas con la solicitud.
Para activar el modo de depuración, debes utilizar el parámetro de la cadena de consulta debug
. Por ejemplo:
curl -i -X GET \
"https://graph.facebook.com/{user-id}
?fields=friends
&debug=all
&access_token={your-access-token}"
Si no se otorgó el permiso user_friends
, se devuelve la respuesta siguiente:
{ "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" } ] } }
El valor del parámetro debug
se puede establecer en “all” o en un nivel de gravedad mínimo solicitado que se corresponda con el campo type
del mensaje:
Valor del parámetro de depuración | Elementos que se devolverán |
---|---|
all | Todos los mensajes de depuración disponibles. |
info | Mensajes de depuración con los tipos info y warning. |
warning | Solo los mensajes de depuración con el tipo warning. |
Si está disponible, la información de depuración se devuelve como un objeto JSON bajo la clave __debug__
en la matriz messages
. Cada elemento de esta matriz es un objeto JSON que contiene los campos siguientes:
Campo | Tipo de datos | Descripción |
---|---|---|
message | Cadena | Mensaje. |
type | Cadena | Gravedad del mensaje. |
link | Cadena | [Opcional] URL que apunta a información relacionada. |
El modo de depuración también se puede usar con el explorador de la API Graph.
Al compilar una aplicación y realizar solicitudes de la API Graph, puede que te resulte útil determinar de qué versión de la API obtienes la respuesta. Por ejemplo, si realizas llamadas sin una versión concreta, es posible que la versión de la API que responda no te resulte conocida.
La API Graph proporciona un encabezado de solicitud con cualquier respuesta denominado facebook-api-version
que indica la versión exacta de la API que generó la respuesta. Por ejemplo, una llamada a la API Graph que genera una solicitud con la versión 2.0 produce el siguiente encabezado HTTP:
facebook-api-version:v2.0
Este encabezado facebook-api-version
permite determinar si las llamadas a la API se devuelven desde la versión prevista.
Al notificar un error en la API Graph, se incluyen algunos encabezados de solicitud adicionales que se deben enviar con el informe de errores a fin de facilitar la localización y la reproducción del problema. Dichos encabezados son X-FB-Debug
, x-fb-rev
y X-FB-Trace-ID
.