【Rails】Google Analytics Reporting APIでレポートデータ取得する方法

【Rails】Google Analytics Reporting APIでレポートデータ取得する方法

2020年9月5日
Rails

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でレポートデータ取得する方法でした。