2015年5月27日を境に、Google Analytics APIを使ってデータを引っ張ってきていたPHPのプログラムが正常にデータをはき出さなくなりました。原因を探るためにネットで情報収集をしていたところ、これまで主流だったGoogle Analytics API v2.3のサポートが打ち切られた為とのことでした。(余談ですが、2015年6月11日14時現在、v2.3をPHPで呼び出したところ何故か実行出来ました。理由は分かりませんが、いずれは廃止されるものですのでv3.0へプログラムを早めに対応させておく方が良いでしょう)

バージョン2.3の認証方式はClientLoginです。ClientLoginは2012/04/20に非推奨化されています。

参考:http://fsshuji.tumblr.com/post/116889330964/gapi

これからはv3.0を使うように推奨されています。私はgoogleanalytics.class.php というライブラリをベースプログラムを構築していましたが、v2.3のみしか対応していない為、このライブラリは使えなくなったということです。古いgapi.class.php も使えなくなったようです。しかしこちらは、v3.0に対応した最新バージョンが出ています。

さて、このページに辿り着かれた方は、私と同じようにプログラムが動作しなくなって困り、情報収集に来られた方だと思います。私も情報収集をして何とかプログラムが正常に動作するように改修出来ましたが、まだ情報がネット上に分散されており、あちこち見ないと改修出来ないかもしれません。そこでこのページへ統合的な改修方法を記載しておきます。「Google Developers Consol」にアカウントを開くなど結構面倒なんですが、他には方法はありません

Google Developers Consol でプロジェクトの作成

https://console.developers.google.com/project へアクセスして、これまでデータを引っ張ってきていたアナリティクスのアカウントでログインして下さい。左に「プロジェクトの作成」という項目があるのでクリックして新規のプロジェクトを作成して下さい。

プロジェクト名は何でも構いませんが、英数字で入力し、作成をクリックして下さい。十数秒程したらプロジェクトの作成が完了します。

analytics APIの有効化

左メニューから、[APIと認証] > [API] と進み、analytics API を検索し、有効化して下さい。

新しいクライアントIDの作成

[APIと認証] > [認証情報] から、[新しいクライアントIDを作成] をクリック。[サービスアカウント] を選択し、[クライアントIDを作成]をクリックして下さい。

[サービスアカウント]という項目が新たに出現しました。この項目の[メールアドレス]を使うのでメモしておいて下さい。

P12キーを保存

[サービスアカウント]の項目の下にある[新しいP12キーを生成]をクリックし、生成されたhogehoge.P12ファイルを保存して下さい。

アナリティクスへメールアドレスの登録

アナリティクスを開いて、上方メニューの[アナリティクス設定] > [ユーザー管理]を開いて下さい。

[権限を付与するユーザー]へ先ほどメモしたメールアドレスを入力して[追加]して下さい。権限は、[表示と分析]のままで構いません。

ライブラリとP12キーのアップロード

google api php client というライブラリをダウンロードして下さい。zipファイルを展開して、これまでPHPプログラムを実行していたフォルダへ全てアップロードして下さい。google api php clientのフォルダ名が長いので、[google-api-php-client-master] → [g_api_c]に変更しています。
注意:Google APIs Client Library for PHP というライブラリを使ってv3.0を実行するという記事もありますが、2013年に更新が止まっている為か、私が試した限り使えません。

同じフォルダへ、.P12ファイルもアップロードして下さい。

PHPからGoogle Analytics APIを実行

注意: google api php client は、PHP5.3以上でなければ、エラーが出ます。注意下さい。

一応、以下のようなコードでデータは取得出来ます。

参考: http://syncer.jp/google-analytics-api-tutorial

googleanalytics.class.php 使ったプログラムを書き換えるポイント

googleanalytics.class.php では使えたのに、 google api php client では類似の関数が無いものがあります。私が認識しているものだけ上げておきます。参考にしてください。

  1.  setProfile に類似の関数はありません。 $ga->data_ga->get の箇所で記載するしかありません。
  2. setDateRange もありません。上記と同様です。
  3. getReportの箇所は、data_ga->get へ書き換える必要があります。
  4.  ‘metrics’ => urlencode(‘ga:uniquePageviews’) のように、配列に入れることは出来ません。

大体、この位です。

4.については、

 のように記述していたものを、

のように記述しなければならないという意味です。

以上、Google Analytics API v3.0をPHPを使って利用する方法でした。参考になれば幸いです。

スポンサー

お問い合わせ

この記事についてご質問があれば、お問い合わせ下さい。

お名前(必須)
お名前フリガナ(必須)
メールアドレス(必須)
メールアドレス確認(必須)
お問い合わせ記事URL
お問い合わせ内容(必須)