しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

RubyでGoogleAnalyticsのデータを取得する

GoogleAnalyticsのデータの取り方を調べてみました。

取得準備

まずはGoogleCloudPlatformにアクセスしてプロジェクトを作成します。

Google Cloud Platform

f:id:llcc:20171015150926p:plain

続けて「IAM と管理」の「サービス アカウント」からサービスアカウントを作成します。
この時、jsonファイルがダウンロードされるので、保管しておきます。

f:id:llcc:20171015152633p:plain

次はGoogleAnalyticsの設定のユーザー管理で、先程作成したサービスアカウントのメールアドレスを登録します。

f:id:llcc:20171015153101p:plain

続けてGoogleAnalyticsのAPIを有効にします。

f:id:llcc:20171015153853p:plain

取得処理の実装

ライブラリはgoogle-api-clientを利用します。

source "https://rubygems.org"

gem 'google-api-client'

取得処理は下の通りです。
先程ダウンロードしたjsonを使って認証してAPIを叩いています。

require 'google/apis/analytics_v3'

client = Google::Apis::AnalyticsV3::AnalyticsService.new
client.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
  json_key_io: File.open('./AnalyticsTest.json'), # 先程ダウンロードしたjsonファイル
  scope: ['https://www.googleapis.com/auth/analytics.readonly']
)

data = client.get_ga_data(
  "ga:#{12345}", # ビューIDを入れる
  (Date.today - 7).strftime,
  Date.today.strftime,
  "ga:pageviews",
  {
    dimensions: 'ga:date',
    sort: "-ga:date"
  }
)

data.rows.each do |row|
  p row
end

ビューIDは、Analyticsのビュー設定のものを入れます。

f:id:llcc:20171015154436p:plain

実行したところ、無事にPVが取得できました。

f:id:llcc:20171015154949p:plain