RailsでGoogle Analytics Reporting APIでレポートデータ取得する方法をまとめました。レポートデータ取得処理を独自クラス化し、JSON形式のレスポンスで返すところまでを紹介しています。
目次
Google Analytics Reporting APIの設定準備
Google Analytics Reporting APIの設定は以下の記事を参考にしました。
- プロジェクトの作成
- サービスアカウントの作成
- 秘密鍵のJSONファイルを生成 ← あとで使います
- Googleアナリティクスにユーザ追加
- ビューIDの確認 ← あとで使います
参考:Google Analytics API を叩いてデータを取得するまでの流れ(Ruby)
RailsでGoogleアナリティクスレポートデータ取得処理をクラス化
Googleアナリティクスレポートデータ取得処理を独自クラス化し、コントローラで使えるようにします。
先程生成した秘密鍵のJSONファイルは「analytics_auth.json」として配置し、authメソッドでGoogleアナリティクスAPIに認証を行ってからレポートデータを取得しにいきます。
report_pv_count_by_dateメソッドで、取得開始日と取得終了日を引数(デフォルトは当日)で指定してその期間のレポートデータを取得できるようにします。
・lib/analytics.rb
独自クラスを作成したら、呼び出せるようにapplication.rbに以下を追記します。
・config/application.rb
uninitialized constantエラーで定義したクラスを読むことができない場合は、config/initializersディレクトリ配下にrequirements.rbファイルを作成し、以下を追記してください。
・config/initializers/requirements.rb
クラス化したGoogleアナリティクスレポートデータ取得メソッド呼び出し
実際にコントローラで呼び出してみます。初期化のBASE_URLとVIEW_IDは環境変数として.envに設定し呼び出して使うようにします。
フロントからパラメータ(取得開始日・取得終了日)をPOSTし、それらを引数にして実行しています。レスポンスはJSON形式で返すようにしています。
あとはroutes.rbにルーティングを設定して完了です。
・app/controllers/api/analytics_controller.rb
以上、RailsでGoogle Analytics Reporting APIでレポートデータ取得する方法でした。