【旧版】Google Analytics API を PHP から使う
サービスから API を使えるよう設定を行う
この記事を参考に第6節「Google Analytics のビュー ID をメモする」までの手順を行う。
この手順で作成するものは次の通り。
- API プロジェクト(Facebook API では「アプリ」と呼ばれるものに相当)
- OAuth のサービスアカウント
- クライアント ID
- メール アドレス
- 秘密鍵
- 上記 OAuth クライアントと紐づいた Google Analytics ユーザー
Google API PHP Client を配置する
次のページから src 以下のファイルをダウンロードする。Git の使い方に詳しくなければ「Download ZIP」からまとめてダウンロードするとよい。
require/include で読み込み可能なディレクトリに Google というディレクトリを作り、その中にダウンロードした src 以下のファイルを配置する。
API を使う
毎回 API への接続条件を書くのは大変なので次のようなクラスを作った。新しい PHP Client ではこの部分で使うクラス名や関数名が変更されている。
<?php // my_google_analytics.php require_once 'Google/Client.php'; require_once 'Google/Auth/AssertionCredentials.php'; require_once 'Google/Service/Analytics.php'; class MyGoogleAnalytics { // クライアント ID const CLIENT_ID = 'XXXXXXXX.apps.googleusercontent.com'; // メール アドレス const SERVICE_ACCOUNT_NAME = 'XXXXXXXX@developer.gserviceaccount.com'; // 秘密鍵のファイル名 const KEY_FILE = 'XXXXXXXX-privatekey.p12'; private static $client; private static $service; public static function get() { if (! isset(self::$client)) { self::createClient(); } if (! isset(self::$service)) { self::$service = new Google_Service_Analytics(self::$client); } return self::$service; } private static function createClient() { self::$client = new Google_Client(); self::$client->setApplicationName('Suzume Kawaii Application'); self::$client->setClientId(self::CLIENT_ID); self::$client->setAssertionCredentials(new Google_Auth_AssertionCredentials( self::SERVICE_ACCOUNT_NAME, array('https://www.googleapis.com/auth/analytics.readonly'), file_get_contents(__DIR__ . '/' . self::KEY_FILE) )); } }
次のように MyGoogleAnalytics::get() を呼ぶだけですぐに API を呼び出すためのオブジェクトを生成できる。
<?php require_once 'my_google_analytics.php'; $ga = MyGoogleAnalytics::get(); $result = $ga->data_ga->get( 'ga:XXXXX', // XXXXX の部分は Analytics のビュー ID '2014-05-01', // 開始日 '2014-05-31', // 終了日 'ga:pageviews', // 主要指標 (metrics) array( 'dimensions' => 'ga:pageTitle,ga:pagePath', // 副指標 'sort' => '-ga:pageviews', // - を付けると降順ソート 'max-results' => 10, // 取得件数 )); print_r($result['rows']);
取得できるデータの種類
指標 metrics および dimension で指定できる項目はこのページで参照できる。
主な指標を挙げておく。
- Metrics
- ga:sessions セッション数
- ga:users ユーザ数
- ga:pageviews ページビュー
- Dimensions
- ga:userType 新規訪問/リピート訪問 (例: New Visitor, Returning Visitor)
- ga:medium 参照元の種類 (例: organic, referral, (none))
- ga:source 参照元 (例: google, yahoo, (direct), example.com)