2015年5月28日

Google Analytics API から gapi.class.php 経由でPVを取得できない


5月27日に突然、取得できなくなりました。


かなり以前なのですが、 gapi.class.php を使用してアナリティクスからPV数を取得するPHPプログラムを作成しました。定期的にこのプログラムを自動実行させているのですが2015/05/27 0:00 前後を最後にエラーとなってしまうようになりました。手動実行させてもログイン・エラーとなります。

調べてみると以下の記事が見つかりました。
GAPIの置き換えが必要

プログラムを作成するときにはバージョンを意識しなかったのですが、どうやら古いバージョンV2.3のAPIを使用していて、そのサポートが打ち切られたのが原因のようです。時期的にも記事執筆者の予想とぴったりです。すごいですね。

バージョンは 2.3、2.4、3.0 があり、2.3のマイナーバージョンアップの2.4であればプログラムの改修は最少で済むようなので、とりあえずこれを試すことにしました。

認証方式をClientLoginからAPI-Keyに変更するのですが、記事を参考に行ってもログインできませんでした。他の記事も参考にいろいろやってみたのですがNGです。プログラムでは無くAnalyticsアカウントの設定に問題がある可能性が高いのですが、可能性として低いものの、もしかしたら同時にAPI-Keyによる認証も不可にされたのかもしれません。以前からGoogleはOAuth認証を推奨していますので。

仕方がないのでOAuthを使用することにしますがV2.4も使用できなくなるのは時間の問題でいずれはV3.0にする必要があります。これを機会にV3.0に上げることにします。認証をOAuthにするほかに、API出力がXMLからJsonに変更になります。クライアントモジュール(PHP)もgapi.class.phpから変更になりますのでプログラムは完全に作り直しです。

以前の作成時は既に2.4が出ていたと思われるのですが、検索してもV2.3の使用方法しか見つかりませんでした。今現在、ざっと検索するとV3.0の使用方法の記事がいくつも見つかりましたので、これらを参考に作業することにします。

取り急ぎ、ここまでを記事として残しておきます。落ち着いたら手順をまとめます。

プログラム改修を行いました。

2 件のコメント:

  1. 同じ事象にはまったものです。

    昨日GAPI 2.0なんてのが出たみたいですね。
    https://github.com/erebusnz/gapi-google-analytics-php-interface

    今は、プロジェクト毎にアクセスの制限がでてくるみたいなので悩んでます。
    https://developers.google.com/analytics/devguides/reporting/mcf/v3/limits-quotas?hl=ja#general_api

    返信削除
    返信
    1. ありがとうございます。google-api-php-clientでやっと改修がひと段落したところです。たぶんGAPI2.0の方が簡単に移行できたのでしょうね。今頃遅いよ~って感じです。
      アクセス数制限は頭の痛いところですね。今現在マップの制限に悩まされているところです。

      削除