16

Czy najlepsza opcja to Google API Ruby client?Jak pobrać statystyki Google Analytics?

Mam witrynę example.com z użytkownikami i chcę, aby zobaczyli statystyki swoich google analytics na example.com, jak mogę to zrobić?

Widzę the example, ale nie jestem w stanie wymyślić, jak zacząć.

+1

Legato ma _nie zawsze było porzucone i jest lepszym sposobem na budowanie obsługiwanych zapytań przeciwko interfejsowi API GA. Poprosiłem autora tego Gista, aby poprawił swoje błędne notatki. Legato wspierało zawsze GA API w wersji 3. https://github.com/tpitale/legato/commit/0def82f9bdb9cf259d4d91d5bd2f17759231bb29 –

Odpowiedz

29

Korzystam również z gem google-api-ruby-client i konfiguruję go w taki sam sposób, jak opisano w linku podanym przez użytkownika (https://gist.github.com/joost/5344705).

Wystarczy wykonać czynności opisane w link, aby skonfigurować klienta Google Analytics:

# you need to set this according to your situation/needs 
SERVICE_ACCOUNT_EMAIL_ADDRESS = '...' # looks like [email protected] 
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 

Aby wyświetlić statystyki dla strony użytkownika w aplikacji, trzeba dostosować metryki i filtry parametry podczas tworzenia zapytania. Powyższe zapytanie na przykład zwróci obiekt wynikowy zawierający wszystkie odsłony strony z adresem: url przyklad.com/url/to/user.


Zastrzeżenie: ta odpowiedź została napisana dawno temu Google wydało nową, niezgodną wersję gem. Proszę skonsultować się z https://github.com/google/google-api-ruby-client/blob/master/MIGRATING.md

+0

Uratowałem mój dzień ... Dzięki @severin. W sekcji tworzenia zapytania PROILE należy pisać jako PROFILE. Ale to nic wielkiego. – Kumar

+0

Dzięki @Kumar. Naprawiłem literówkę, dziękuję za wskazanie tego! – severin

+0

@severin co to jest "PROFILE = '..." # Twój identyfikator profilu GA, wygląda jak "ga: 12345" "? skąd wziąłeś ten identyfikator? to identyfikator konta analytics.? jeśli tak, to musimy poprzedzić go "ga:".? – Aparichith