Voglio scrivere uno script PHP che importi i dati delle statistiche web da GA. Lo script è accessibile tramite un front-end Web (per l'attivazione dell'importazione) e risiede su un server locale (127.0.0.1).richiesta dati di Google Analytics da un server locale
Come ho capito dalla documentazione è che ci sono due opzioni per l'autenticazione e utilizzando l'API di base:
- API chiave - concede solo l'accesso alle statistiche
- OAuth2 - autorizzazione completa
Se comprendo correttamente i meccanismi di OAuth2, questa non è un'opzione nel mio scenario perché non è possibile specificare un URL di richiamata. Mi vengono in mente le soluzioni di Hacky - come stabilire un'autenticazione di un profilo web che si collega direttamente a GA dal browser e quindi recuperare i dati da JavaScript e alimentarli allo script di importazione - ma preferirei astenermi da tali soluzioni. Anche perché l'interazione del browser che ha attivato il processo di importazione potrebbe essere sostituita con un cron job in futuro.
La chiave API sembra essere esattamente ciò che voglio ma la richiesta GET dal browser non riesce.
richiesta GET:
https://www.googleapis.com/analytics/v3/data/ga
?ids=ga:[profile ID]
&start-date=2013-01-01&end-date=2013-01-05
&metrics=ga:visits
&key=[the API key]
Risposta:
{
error: {
errors: [
{
domain: "global",
reason: "required",
message: "Login Required",
locationType: "header",
location: "Authorization"
}
],
code: 401,
message: "Login Required"
}
}
L'URL però dovrebbe andare bene. Tranne che per il parametro chiave, è uguale a quello generato con http://ga-dev-tools.appspot.com/explorer/ che funziona anche (in questo caso viene utilizzato AOuth2). La chiave API è fresca.
Quindi generare di nuovo una nuova chiave API mi mette di fronte al prossimo inconveniente che è apparentemente la chiave è valida solo per un giorno.
Così, alla fine della giornata la mia domanda è questa:
E 'possibile recuperare i dati dello scenario sopra descritto, senza dover autenticare manualmente o generare le chiavi API su una base quotidiana?
Dai un'occhiata ai [Metodi di autorizzazione] (https://developers.google.com/analytics/devguides/reporting/core/v3/gdataAuthorization #common_oauth) disponibile. Ci sono 2 che dovrebbero funzionare per te. ** Web Server ** e ** Account di servizio **. Con il metodo [Web Server] (https://developers.google.com/accounts/docs/OAuth2WebServer) devi comunque passare attraverso oAuth, ma devi farlo una sola volta. Successivamente, si ottiene un token di aggiornamento che è possibile utilizzare per generare più token di accesso quando necessario senza passare nuovamente attraverso il flusso di OAuth. [Account di servizio] (https://developers.google.com/accou – Eduardo
Ok, forse questo è il trucco, ma sono comunque interessato a una risposta completa che indirizzi anche gli altri punti menzionati. – Raffael