2015-09-16 7 views
10

Quando si utilizza questa sintassi per interrogare più metricheCome combinare le espansioni del campo dell'API grafico?

https://graph.facebook.com/v2.4/69999732748?fields=insights.metric(page_fan_adds_unique,page_fan_adds,page_fan_adds_by_paid_non_paid_unique)&access_token=XYZ&period=day&since=2015-08-12&until=2015-08-13

Ho sempre trovato i dati per gli ultimi tre giorni piccole attenzioni dei valori del dato e fino a quando i parametri

https://graph.facebook.com/v2.4/69999732748/insights/page_fan_adds_unique?period=day&access_token=XYZ&since=2015-09-10&until=2015-09-11

Se chiedo per una singola metrica, quindi i parametri della data hanno effetto.

Esiste una sintassi diversa per la richiesta di metriche di approfondimenti multipli che accettano i parametri di data?

+0

Questa prima chiamata API non mi sembra corretta: dovresti utilizzare "insights" come margine dell'API grafico e non come campo (che è ciò che stai facendo). Si prega di verificare se facendo così produrrà risultati diversi. – derabbink

+0

La mia query funziona bene - oltre a ignorare la data. Uso il modello insights.metrics() per interrogare più di una metrica di approfondimento. –

risposta

4

penso che questo dovrebbe funzionare:

curl -G \ 
-d "access_token=PAGE_TOKEN" \ 
-d "fields=insights.metric(page_fan_adds_unique,page_fan_adds,page_fan_adds_by_paid_non_paid_unique).since(2015-08-12).until(2015-08-13).period(day)" \ 
-d "pretty=1" \ 
"https://graph.facebook.com/v2.4/me" 

si richiede il pagina insights come un campo. Questo campo contiene un elenco di risultati in un array data (insights.data) e si desidera filtrare questo array.

Il modo per farlo è concatenando parametrizzazioni al insights campo richiesto in questo modo:

fields=insights 
    .filter1(params) 
    .filter2(params) 
    .filter3(params) 

Ogni .filterX(params) verrà applicato al campo particolare che la precede.
Ho aggiunto nuove righe e rientri per maggiore chiarezza, ma nella tua richiesta effettiva le avremmo raggruppate tutte in un'unica riga, senza spazi.

+0

Fantastico! Quindi dove lo troverei documentato? –

+0

Una cosa che sto ancora cercando di chiarire è che ci sono vantaggi/svantaggi quando si confrontano questi due approcci per ottenere approfondimenti .../fields = insights.metric (page_fan_adds_unique, page_fan_adds) .since (2015-08-12) .fino (2015/08/13) .period (giorno) vs .../approfondimenti/page_fan_adds_unique, page_fan_adds? = periodo di giorno e dal momento = 2015/09/12 & fino = 2015/09/13 so che con la prima ho potuto richiedere ulteriori campi non di approfondimento. Ma se sto solo ottenendo intuizioni, c'è davvero qualche differenza? –

+0

Questo non è documentato e quindi non supportato. Il vantaggio del primo è che finché funziona, puoi usare questo per ottenere tutti i tipi di informazioni con una singola richiesta, senza dover utilizzare richieste batch. Il vantaggio di quest'ultimo è che è ufficialmente supportato, quindi se si rompe è possibile presentare un bug su di esso con Facebook. Ho avuto l'idea di provarlo mentre leggevo attraverso ["Using the Graph API"] (https://developers.facebook.com/docs/graph-api/using-graph-api/v2.5) – derabbink

Problemi correlati