RubyでGoogle Analytics API をいじる
手順
詳細
クライアントIDの作成
Google Developers Console から 新しいプロジェクトを作成。APIs&authのAPIsからAnalytics API をONにする。Credentialsから新しいクライアントIDを作成。
認証情報のDL&配置
ここからDownload JSON で認証情報をDLする。DLしたファイルは実行ファイルと同じディレクトリに保存する。
google-api-ruby-clientのインストール
$ bundle init $ vim Gemfile # gem 'google-api-client' を追加する $ bundle install --path --path vendor/bundler
コード作成
こちらのコードをお借りしました。
# coding: utf-8 require 'pp' require 'json' require 'google/api_client' require 'google/api_client/client_secrets' require 'google/api_client/auth/installed_app' # Initialize the client. client = Google::APIClient.new( :application_name => 'deveropment test', :application_version => '0.0.1' ) analytics = client.discovered_api('analytics', 'v3') # ここでDLしたJSONを読み込んでいるので同じディレクトリにclient_secrets.jsonを置いておくこと client_secrets = Google::APIClient::ClientSecrets.load # Run installed application flow. Check the samples for a more # complete example that saves the credentials between runs. flow = Google::APIClient::InstalledAppFlow.new( :client_id => client_secrets.client_id, :client_secret => client_secrets.client_secret, :scope => ['https://www.googleapis.com/auth/analytics.readonly'] ) client.authorization = flow.authorize # 各ページのPV数 result = client.execute( :api_method => analytics.data.ga.get, :parameters => { 'ids' => 'ga:xxxxxx', # 自分のビューID 'start-date' => 'YYYY-MM-DD', 'end-date' => 'YYYY-MM-DD', 'metrics' => 'ga:visitors,ga:visits,ga:pageviews', 'dimensions' => 'ga:pagePath,ga:pageTitle', 'sort' => '-ga:pageviews' } ) # result.response.body body = JSON.parse(result.response.body) body['rows'].each do |row| pp row end
実行
$ bundle exec ruby Analytics.rb
実行すると認証画面が立ち上がるので許可をする。アナリティクスの情報が取れます。
ちょっと困ったこと
プロファイルIDは、ビューIDに変わっていた!! Google AnalyticsのプロファイルIDはビュー IDに変わっています。
参考URL
http://shoprev.hatenablog.com/entry/2013/07/21/193334
http://qiita.com/kazuph/items/2cf81a84985e894e9682
http://blog.naberon.jp/post/2013/08/25/google-analytics-api/
http://arayu.jp/google-profile-id.html