4
3

More than 5 years have passed since last update.

Google Analyticsのアクティブユーザー数をRailsで表示させる方法

Last updated at Posted at 2017-11-16

前提としてgoogle analyticsを使用しているRails(ruby)アプリがあること

目的は自分のwebサイト(マッチングサービス)で現在訪問しているアクティブのユーザの数を表示させたかったのです。
要所で参考にできる記事がなかなか見つからず苦労しました。。
Google APIの英語ドキュメントをたどたどしく読みながら実装できました。
ビギナーでもできるかと思います。

1. gemを使います。

Gemfile
gem "google-api-client"

google-api-client

$ bundle install

2. Analytics API の利用申請をする
ここから → Google Cloud platform

認証のJSonファイルをダウンロードするとこまで以下のリンクを参考にしてください
→この記事がとてもわかりやすかったです

ダウンロードされる認証用のjsonファイルのサンプル

client_secret.json

{
  "type": "service_account",
  "project_id": "hogehoge",
  "private_key_id": "asdjghjsdhgajsdhgakjsdhka",
  "private_key": "-----BEGIN PRIVATE KEY-----\nyw\sdfjghsdljkrghlwinevhrugilvjrsdhglnvjdhgvksjhgklvjsrhgklnvjdhvgklsjhkskdfjgskdfjsknfjlskdfjmsvlkdfjglskdjflmvkdjfmlgskflm;skjfdl;gkn\n-----END PRIVATE KEY-----\n",
  "client_email": "hogehogehgoehgoe.iam.gserviceaccount.com",
  "client_id": "11111111111111111111111111",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://accounts.google.com/o/oauth2/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/hogehoge.iam.gserviceaccount.com"
}

⚠︎client_secret.jsonとget_active.rbは同じ階層に置いてください。

3. rubyファイルでApiを使う

get_active.rb

require "pry"
require 'google/apis/analytics_v3'


CREDENTIAL_PATH = 'client_secret.json' # 各自適切なパスにしてください
SCOPES =['https://www.googleapis.com/auth/analytics.readonly']
client = Google::Apis::AnalyticsV3::AnalyticsService.new

# 認証
client.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
  json_key_io: File.open(CREDENTIAL_PATH),
  scope: SCOPES
)

data = client.get_realtime_data(
  "ga:1234567", # view_id ここは各々変更してください 
  "rt:activeUsers" # metrics

)


puts data.total_results
$ ruby get_active.rb
=> 17   

必要最低限ですがこんな感じで取得できます
他にもメソッドがあります。
下の公式ドキュメントがとても参考になるので見て見てください。

参考1 AnalyticsV3/RealtimeData

参考2 AnalyticsV3/AnalyticsService#get_realtime_data-instance_method

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3