概要
Legato という gem を利用すると Google Analytics API 経由で簡単にアクセス解析結果を取得することができます。
競合の gem (garb)と比べると開発も活発なようです。
導入方法
導入はやや面倒です。
事前準備として以下が必要となります。
- Google Developers Console にて API キーを発行
- Google Analytics にて、上記で作成したサービスアカウントのメールアドレスを登録
こちらのブログ記事が大変参考になりました。
Google Analytics のデータを読み込んで表示する (rubyからAPI経由で取得) | レリッシャブル {{ relishable }}
利用方法
特定ページの PV を取得したい
Legato::Model を継承したクラス内にて、metrics と dimensions を指定します。
filter メソッドを使うことによって、よく使うフィルタを登録することが可能です。
例: /dashboard の PV を取得したい場合
class PageviewAnalyzer
extend Legato::Model
filter :for_page_path, &lambda {|page_path| matches(:page_path, page_path)}
metrics :pageviews
dimensions :page_path
end
PageviewAnalyzer.for_page_path("/dashboard", profile).each {|result| p result}
またフィルタはチェインして利用することも可能です。
参考: Filtering · tpitale/legato Wiki
日付を指定したい
results メソッドは様々なオプションが用意されています。
例: 2012-01-01 以降の /dashboard の PV を取得したい場合
PageviewAnalyzer.for_page_path("/dashboard", profile).results(start_date: "2012-01-01".to_date).each {|result| p result}
参考: Quick Start · tpitale/legato Wiki
所感
Legato を使うと Google Analytics API 経由でアクセス解析結果を取得することができました。
導入はやや面倒ではありますが、PV を取得する程度であれば簡単に実装できそうです。
API には様々なオプションがあるため、徐々に慣れていこうと思います。