There are many (old) clients available:
- https://github.com/tpitale/legato (active, supports API v3)
- https://github.com/activenetwork/gattica
- https://github.com/vigetlabs/garb
The Google Analytics API is at v3 (at time of writing).
This example uses Google's Ruby API client to access Analytics. Use https://github.com/google/google-api-ruby-client (Google supported).
For server-to-server Analytics API:
- Go to your project at https://code.google.com/apis/console/
- Enable Analytics under Services
- 'Create another client ID' under API Access
- Download the key-file to your project [KEY_FILE]
- Go to you Analytics account and add the API client email address to your account [SERVICE_ACCOUNT_EMAIL]. It should be something like '[email protected]'.
Now get access to the Analytics API in your Ruby/Rails app:
require 'google/api_client'
require 'date'
client = Google::APIClient.new(:application_name => 'something you like', :application_version => '1')
key_file = File.join('SOME PATH', 'KEY_FILE')
key = Google::APIClient::PKCS12.load_key(key_file, 'notasecret')
service_account = Google::APIClient::JWTAsserter.new(
SERVICE_ACCOUNT_EMAIL,
['https://www.googleapis.com/auth/analytics.readonly', 'https://www.googleapis.com/auth/prediction'],
key)
client.authorization = service_account.authorize
analytics = client.discovered_api('analytics', 'v3')
result = client.execute(:api_method => analytics.management.accounts.list)
result.data.items.first.id
parameters = {
'ids' => "ga:SOME_ID",
'start-date' => (Date.today - 30).strftime("%Y-%m-%d"),
'end-date' => Time.now.strftime("%Y-%m-%d"),
'metrics' => "ga:avgTimeOnPage",
'filters' => "ga:pagePath=~/"
}
result = client.execute(:api_method => analytics.data.ga.get, :parameters => parameters)
Just found it. Turns out it was deprecated .
So now you need the
googleauth
gem, which is installed along with the API client. Basically you just need to require the class for the API you want to query. Brief example: