ネットサービスとかGoogleとか豆知識とか。

Index > API > Google AnalyticsのData Export APIを扱うPHPライブラリ「GAPI」を試す
API
2010年12月28日 16:52

Google AnalyticsのData Export APIを扱うPHPライブラリ「GAPI」を試す

  • このエントリーをはてなブックマークに追加
  • ... PV
スポンサード リンク

Google AnalyticsにはData Export APIというものがあって、これを使うと自分のアカウントのAnalyticsで閲覧できるデータを、プログラムから自由に取得することができます。

» Data Export API - Google Analytics - Google Code

このAPIを使ってプログラムを書けば、ブログのエントリーにアクセス数や検索キーワードを表示することも可能。すでにライブラリもあるのでサイトに組み込むのも比較的容易です。

今回は「gapi-google-analytics-php-interface - Project Hosting on Google Code(GAPI)」というPHP用のライブラリを試してみました。

あるページの累計ページビューを取得するサンプル

たとえば「あるページの累計ページビューを取得したい」という場合には、以下のようなコードを書くだけです。

require_once('gapi.class.php');

// PVを調べたいページのパス
$path = '/2010/11021854.html';

// gapiクラスのインスタンスを作成
// 第1引数: Google Analyticsのログインメールアドレス
// 第2引数: Google Analyticsのパスワード
$ga = new gapi(GOOGLE_ANALYTICS_MAIL, GOOGLE_ANALYTICS_PASS);

// レポートデータの取得
$ga->requestReportData(
    GOOGLE_ANALYTICS_BLOG_ID,     // レポートID。Analyticsでレポートを表示した際にURLのidで指定されている値
    array('pagePath'),            // ディメンション
    array('pageviews'),           // 統計情報
    null,                         // ソートキー
    'pagePath==' . $path,         // フィルタ
    '2006-02-01',                 // レポート開始日
    date('Y-m-d'),                // レポート終了日
    1,                            // 何件目から取得するか
    1                             // 何件取得するか
);

// 結果の取得
$result = $ga->getResults();

// pageviews は getPageviews() で取得
$pageView = $result[0]->getPageviews();

echo $pageView;

メールアドレスやパスワードは機密情報なので、ドキュメントルート以外のファイルに定義しておいてそれを require するようにします。(上記サンプルでは省略)

レポートデータは requestReportData() で取得します。与える引数によって色々なレポートデータを取得可能です。

上記サンプルの場合は、ディメンションに「pagePath」を、統計情報に「pageviews」を与えていて、フィルタとして「pagePath==/2010/11021854.html」を指定しており、結果として「/2010/11021854.html」のページの、2006年2月1日以降の累計ページビューを取得できています。

このようにディメンションと統計情報を適切に組み合わせ、フィルタを使うことで望みどおりのデータを取得することが可能です。

Analyticsのデータなのでおそらく多少のタイムラグがあると思いますが、Analyticsを設置していればサイト側で独自にアクセス数をカウントする機能を持っていなくても大丈夫、ということで、Data Export APIはかなり使えるAPIなのではないでしょうか。

» Data Export API - Google Analytics - Google Code