16

En iyi seçenek Google API Ruby client mu?Google Analytics istatistikleri nasıl çekilir?

Kullanıcılarla bir example.com sitem var ve bunların example.com'daki google analiz istatistiklerini görmelerini istiyorum, nasıl yapabilirim?

the example'u görebiliyorum ama nasıl başlayacağımı anlayamıyorum.

+1

'a başvurunuz. Legato, _not ever_ 'ı terkedilmiş durumda ve GA API'sine karşı sürdürülebilen sorgular oluşturmak için daha iyi bir yoldur. Bu Gist'in yazarı, hatalı notlarını düzeltmesini istedim. Legato _always_ GA API Sürüm 3'ü desteklemiştir. Https://github.com/tpitale/legato/commit/0def82f9bdb9cf259d4d91d5bd2f17759231bb29 –

cevap

29

Ayrıca google-api-ruby-client gemini kullanıyorum ve sağladığınız bağlantıda (https://gist.github.com/joost/5344705) belirtildiği şekilde ayarlayın.

Sadece bir Google Analytics istemci ayarlamak için bağlantıyı belirtilen adımları izleyin:

# 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 

uygulamanızda bir kullanıcının sayfanın istatistiklerini görüntülemek için, ölçümlerini ayarlamak zorunda ve filtreler sorguyu yaparken parametreler. Yukarıdaki sorgu, örneğin, url example.com/url/to/user adresindeki sayfa için tüm sayfa görüntülemelerini içeren bir sonuç nesnesi döndürecektir.


Uyarı: Bu cevap çok uzun zaman önce yazılmış ve Google mücevher yeni, uyumsuz bir sürümünü yayınladı. Lütfen

+0

Günüm kaydedildi .. Teşekkürler @severin. Make query bölümünde, PROFİL olarak PROILE yazılmalıdır. O kadar da önemli değil. – Kumar

+0

Teşekkür ederizKumar. Yazım hatası düzeltdim, işaret ettiğin için teşekkürler! – severin

+0

@severin nedir "PROFILE = '...' # GA profil kimliğiniz, 'ga: 12345' gibi görünüyor"? Bu kimliği nereden aldınız dan? bu analitik hesap kimliğidir. eğer öyleyse 'ga:' ile önek gerekiyor. – Aparichith