Richieste di debug

Modalità di debug dell'API Graph

Quando la modalità di debug è abilitata, la risposta dell'API Graph potrebbe contenere campi aggiuntivi che illustrano potenziali problemi relativi alla richiesta.

Per abilitare la modalità di debug, usa il parametro della stringa della query debug. Ad esempio:

curl -i -X GET \
  "https://graph.facebook.com/{user-id}
    ?fields=friends
    &debug=all
    &access_token={your-access-token}"
GraphRequest request = GraphRequest.newMeRequest(
  accessToken,
  new GraphRequest.GraphJSONObjectCallback() {
    @Override
    public void onCompleted(JSONObject object, GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "friends");
parameters.putString("debug", "all");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{user-id}"
           parameters:@{ @"fields": @"friends",@"debug": @"all",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{user-id}',
  'GET',
  {"fields":"friends","debug":"all"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{user-id}',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Se l'autorizzazione user_friends non è stata concessa, viene restituita la risposta seguente:

{
  "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"
      }
    ]
  }
}

Il valore del parametro debug può essere impostato su "all" o su un livello di gravità minimo obbligatorio che corrisponde al type del messaggio:

Valore del parametro di debug Cosa sarà restituito

all

Tutti i messaggi di debug disponibili.

info

I messaggi di debug di tipo info e warning.

warning

Solo i messaggi di debug di tipo warning.

Le informazioni di debug, quando disponibili, vengono restituite come oggetto JSON sotto la chiave __debug__ nell'array messages. Ogni elemento di questo array è un oggetto JSON contenente i seguenti campi:

Campo Tipo di dati Descrizione

message

Stringa

Il messaggio.

type

Stringa

La gravità del messaggio.

link

Stringa

[Opzionale] Un URL che rimanda alle informazioni correlate.

Puoi anche usare la modalità di debug con il Tool di esplorazione per la API Graph.

Identificazione della versione usata dalle richieste all'API

Quando crei un'app ed effettui richieste all'API Graph, potresti trovare utile identificare la versione dell'API da cui ricevi la risposta. Ad esempio, se effettui chiamate senza una versione specificata, potresti non sapere la versione dell'API che invia la risposta.

L'API Graph fornisce un'intestazione della richiesta con qualsiasi risposta chiamata facebook-api-version, indicante la versione esatta dell'API che ha generato la risposta. Ad esempio, una chiamata all'API Graph che genera una richiesta con la versione 2.0 produce la seguente intestazione HTTP:

facebook-api-version:v2.0

Questa intestazione facebook-api-version ti consente di determinare se le chiamate all'API sono restituite dalla versione prevista.

Informazioni di debug per la segnalazione di bug

Quando viene segnalato un bug nell'API Graph, includiamo alcune intestazioni della richiesta aggiuntive da inviare insieme alla tua segnalazione per aiutarci a individuare e riprodurre il problema che hai riscontrato. Queste intestazioni sono X-FB-Debug, x-fb-rev e X-FB-Trace-ID.