Google Analytics API(v3)を使ってPHPでリアルタイムユーザー数を取得する方法(事前準備編)

Google Analytics API PHP eyecatch

ウェブサイトを運営しているとGoogle Analyticsのアクセス解析を見るのは楽しみの1つです。その中でもリアルタイムで何人のユーザがサイトを閲覧しているかは常に気になりますが、常時Analyticsを見ている訳にもいきません。

そこでGoogle Analyticsのリアルタイムユーザー数をPHPからReal Time Reporting API(v3)で取得する方法を事前準備編・実践編に分けてメモします。

はじめに

本エントリではGoogle Analytics APIを使ってPHPからウェブサイトのリアルタイムアクティブユーザー数を取得するための事前準備について記載しています。

Google Analytics APIとは

Googleの数多くのサービスを各種プログラミング言語から利用可能にするAPIです。
APIを使用することでリアルタイムユーザー数、ページビュー数などの各種情報を、Google Analyticsの画面にわざわざログインしなくてもプログラムから取得することができます。

Google Analytics APIを使うための準備

APIを使うためにはGoogle Developers Consoleでプロジェクトと認証情報を作成する等の事前準備が必要となります。一つずつ準備していきます。

Google Developers Consoleの日本語化

デフォルトの状態ではDevelopers Consoleは英語となっています。設定内容をわかりやすくするため、まずは画面を日本語化しておきます。

Google Developers Consoleを開き、Googleアカウントでログインします。

画面左メニューのAccount Settingsを開きます。
Google Developers Console アカウント設定
「Language & Formats」→「LANGUAGE」より「日本語」を選択、「FORMATS」で「Japan」を選択します。
Google Developers Console 言語設定の変更
「Save」ボタンを押すと設定が保存され、Developers Consoleが日本語表記になります。
Google Developers Console  日本語化完了

プロジェクトの作成とAPIの有効化

画面左メニューの「プロジェクト」を開き、「プロジェクトの作成」ボタンを押します。
Google Developers Console プロジェクトの作成

任意のプロジェクト名・プロジェクトIDを入力します。プロジェクトIDは自動生成されますが任意のものに変更することも可能です。またテキストボックス右側のリロードボタンを押すと再度自動生成されます。入力が終わったら「作成」ボタンを押します。
Google Developers Console プロジェクト名とIDの入力
プロジェクトの作成がはじまり、数分でプロジェクトの作成が完了します。プロジェクトの作成が完了するとプロジェクトのダッシュボードが表示されます。
Google Developers Console プロジェクトダッシュボード
Google AnalyticsのAPIを有効化するため、左メニューの「APIと認証」→「API」を選択します。
Google Developers Console API

初期状態では「Analytics API」のステータスが「無効」となっているため、「無効」となっているボタンをクリックして有効化します。
Analytics APIの有効化
「Analytics API」が有効になるとステータスが「有効」となります。
Analytics APIの有効化完了

認証情報の作成

APIをプログラムから利用するために認証情報を作成します。

左メニューの「APIと認証」→「認証情報」を選択します。
Google Developers Console 認証情報

OAuthでの認証情報には以下の3種類があります。

ウェブ アプリケーション

PHP、Python、Java、RubyなどのWebアプリケーションからエンドユーザがGoogleアカウントにログインし、そのログイン情報を元にAPIを使うときに使用します。

サービス アカウント

エンドユーザによる操作無しで、バッチ等からAPIを使いたいときに使用します。

インストールされているアプリケーション

PCやiOS/AndroidなどにインストールされているアプリケーションからAPIを使うときに使用します。

今回は毎回認証せずにAPIを使用したいため、「サービス アカウント」でクライアントIDを作成します。「新しいクライアントIDを作成」ボタンを押します。
新しいクライアントIDを作成

「サービス アカウント」を選択肢、「クライアントIDを生成」ボタンを押します。
サービスアカウントの作成

認証情報の生成が完了すると以下の様な画面が表示され*.json形式のファイルがダウンロードされますが、JSONファイルは今回は使いません。
公開鍵/秘密鍵ペア作成(JSON)

プログラムからAPIを利用する際には*.p12形式の証明書ファイルが必要となるため、「新しいP12キーを生成」ボタンを押して*.p12証明書ファイルをダウンロードします。
新しいP12キーを生成

サービスアカウントのP12キー

*.p12キーファイルと画面に表示されている以下の情報はプログラムからAPIを使う際に必要になります。後編の実践編で紹介する方法ではクライアントIDは使用せず、メールアドレスのみ使用します。

クライアントID XXXXXXX.apps.googleusercontent.com
メールアドレス XXXXXXX@developer.gserviceaccount.com

Google Analytics管理画面で認証情報のメールアドレスにアクセス権を付与

APIの利用準備は整いましたが、まだAPIからAnalyticsの情報へアクセスすることはできません。そのためGoogle Analytics管理画面の「アナリティクス設定」で、APIのメールアドレスにAnalyticsビューへのアクセス権を与えます。

APIから参照したいGoogle Analyticsの「アナリティクス設定」を開き、「アカウント」→「ユーザー管理」を開きます。
Analytics ユーザー管理

「権限を付与するユーザー」に先ほど取得したクライアントIDの「EMAIL ADDRESS」を入力し、「追加」ボタンを押します。権限は「表示と分析」のみでOKです。
Analytics メールアドレスの追加

ユーザー一覧にメールアドレスが追加されていれば設定完了です。
Analytics メールアドレスの追加完了

Google AnalyticsビューIDを控えておく

APIからGoogle Analyticsの各種値を参照するにはGoogle AnalyticsのビューIDが必要です。

Google Analyticsの「アナリティクス設定」→「ビュー」→「ビュー設定」を開き、「ビュー ID」に表示されているIDを控えておきます。
google-analytics-04-confirm-view-id

以上でGoogle Analytics APIをプログラムから使う準備は完了です。

おわりに

今回の事前準備では以下のものを用意しました(後編の実践編で紹介する方法ではクライアントIDは使用しません)

用意したもの 値の一例
クライアントID XXXXXXX.apps.googleusercontent.com
メールアドレス XXXXXXX@developer.gserviceaccount.com
p12キーファイル Projectname-123456.p12
Google AnalyticsのビューID 1234567

次回の実践編では事前準備した情報を使って、実際にPHPからリアルタイムユーザー数を取得するプログラムを作成します。

続き:Google Analytics API(v3)を使ってPHPでリアルタイムユーザー数を取得する方法(実践編)