Posts Google Analytics のデータをRubyで取得 (Google API Clientを利用)
Post
Cancel

Google Analytics のデータをRubyで取得 (Google API Clientを利用)

Google API Client
https://github.com/google/google-api-ruby-client

参考
http://blog.twygmbh.ch/google-analytics-api-access-with-ruby/
http://www.karakaram.com/google-analytics-api-batch#create-new-project

以下3つを環境に合わせて書き換える
SERVICE_ACCOUNT_EMAIL_ADDRESS
PATH_TO_KEY_FILE
PROFILE

    
\# encoding: utf-8  
Encoding.default_external=”utf-8″  
Encoding.default_internal=”utf-8″  
require ‘google/api_client’

\# set up a client instance  
client = ::Google::APIClient.new(  
:application_name => ‘APP NAME’,  
:application_version => ‘1.0’)  
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::KeyUtils.load\_from\_pkcs12(‘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’ => ‘ga:PROFILE’,  
‘start-date’ => “7daysAgo”,  
‘end-date’ => “today”,  
‘dimensions’ => ‘ga:day’,  
‘metrics’ => ‘ga:users’  
})

result.data.rows.each\_with\_index do |(key, value), i|  
p key.to\_s + “日:” + value.to\_s + “人”  
end  

DuetというMacの画面を拡張できるアプリを購入した。

WP REST API (WP-API) + OAuth を試した