Voglio interrogare l'API di Google Analytics utilizzando Python per scaricare periodicamente i dati dal mio account Analytics e archiviare i dati in un database locale. In pratica sto seguendo i passaggi indicati nello basic tutorial. Sto usando il Google client API library for Python in questo processo.Accesso API di Google Analytics senza browser locale in python
Il mio script funziona bene finora quando lo sto eseguendo sulla mia macchina di sviluppo locale (Mac). Quando avvio lo script, il mio browser si apre e mi viene richiesto di concedere l'accesso ai miei dati di Analytics dall'app. Successivamente posso eseguire il mio script tutte le volte che voglio e ottenere l'accesso ai miei dati.
Sul mio server (Ubuntu, solo terminale disponibile), si apre il browser w3m
, ma non riesco ad accedere al mio account Google da lì. Posso solo uscire da w3m
e uccidere il programma con Ctrl-C
. C'è un messaggio di errore del tipo:
Il tuo browser è stato aperto da visitare:
https://accounts.google.com/o/oauth2/auth?scope=some_long_url&access_type=offline
Se il browser è su una macchina differente quindi uscire e ri-eseguire questo applicazione con il comando parametro -line
--noauth_local_webserver
Howe quando eseguo il mio script con il parametro --noauth_local_webserver
, ottengo gli stessi risultati: w3m
si apre e non riesco ad autenticarmi.
Come posso far funzionare il --noauth_local_webserver
? C'è un altro modo per autenticarsi senza un browser locale sulla stessa macchina?
Ho un problema simile, ma ho bisogno di automatizzare il processo di autenticazione (non voglio "accettare" l'API ogni volta). C'è un modo per inviare login/password tramite il client python o devo hackerare i codici di esempio e farlo tramite PhantomJS? – aviggiano
phantom js non è una cattiva idea! Inoltre non voglio accettare l'API ogni volta, rovina l'automazione per me. Questo sembra promettente: https://www.npmjs.com/package/headless-google-auth – grasshopper