16

Google API Ruby client è l'opzione migliore?Come tirare le statistiche di Google Analytics?

Ho un sito example.com con gli utenti e voglio che vedano le loro statistiche di google analytics su example.com, come posso farlo?

Posso vedere the example ma non sono in grado di capire come iniziare.

+1

Legato non è mai stato abbandonato, ed è un modo migliore per creare query manutenibili contro l'API GA. Ho chiesto all'autore di quel Gist di correggere i suoi appunti errati. Legato ha _always_ supportato GA API versione 3. https://github.com/tpitale/legato/commit/0def82f9bdb9cf259d4d91d5bd2f17759231bb29 –

risposta

29

Io uso anche il google-api-ruby-client gem e configurarlo nello stesso modo descritto nel collegamento fornito (https://gist.github.com/joost/5344705).

Basta seguire la procedura descritta nel link per impostare un client di Google Analytics:

# you need to set this according to your situation/needs 
SERVICE_ACCOUNT_EMAIL_ADDRESS = '...' # looks like [email protected]ount.com 
PATH_TO_KEY_FILE    = '...' # the path to the downloaded .p12 key file 
PROFILE      = '...' # your GA profile id, looks like 'ga:12345' 


require 'google/api_client' 

# set up a client instance 
client = Google::APIClient.new 

client.authorization = Signet::OAuth2::Client.new(
    :token_credential_uri => 'https://accounts.google.com/o/oauth2/token', 
    :audience    => 'https://accounts.google.com/o/oauth2/token', 
    :scope    => 'https://www.googleapis.com/auth/analytics.readonly', 
    :issuer    => SERVICE_ACCOUNT_EMAIL_ADDRESS, 
    :signing_key   => Google::APIClient::PKCS12.load_key(PATH_TO_KEY_FILE, 'notasecret') 
).tap { |auth| auth.fetch_access_token! } 

api_method = client.discovered_api('analytics','v3').data.ga.get 


# make queries 
result = client.execute(:api_method => api_method, :parameters => { 
    'ids'  => PROFILE, 
    'start-date' => Date.new(1970,1,1).to_s, 
    'end-date' => Date.today.to_s, 
    'dimensions' => 'ga:pagePath', 
    'metrics' => 'ga:pageviews', 
    'filters' => 'ga:pagePath==/url/to/user' 
}) 

puts result.data.rows.inspect 

per visualizzare le statistiche per la pagina di un utente nella vostra applicazione, è necessario regolare le metriche e filtri parametri quando si effettua la query. La query sopra, ad esempio, restituirà un oggetto risultato contenente tutte le pagine visualizzate per la pagina con l'url example.com/url/to/user.


Caveat: questa risposta è stata scritta molto tempo fa e Google ha rilasciato una nuova versione compatibile della gemma. Si prega di consultare https://github.com/google/google-api-ruby-client/blob/master/MIGRATING.md

+0

Salvato il mio giorno .. Grazie @everin. Nella sezione query make, PROILE deve essere scritto come PROFILE. Non è un grosso problema però. – Kumar

+0

Grazie a @Kumar. Ho corretto l'errore di battitura, grazie per averlo indicato! – severin

+0

@severin cosa è "PROFILE = '...' # il tuo ID profilo GA, assomiglia a 'ga: 12345'"? da dove hai preso quell'id? è l'id dell'account analitico? se così è necessario aggiungere un prefisso 'ga:'.? – Aparichith