For Want Of A Better Word

【Google】【PHP】gapi.class.phpでデータが取得できなくなった、その対処法

   

突然に。

ココを見ると、そのライブラリ(gapi.class.php)で対応している認証が無効になったらしい。

avantの忘備録: Google Analytics API から gapi.class.php 経由でPVを取得できない

 

なんこかサイトを見たけど、ちょっとした設定変更で今のまま、という対応は出来ないみたい。(出来ると書いてあるサイトもあったけど、試すと動かない。)
なので、ライブラリを変更して、認証方法をAuth2.0で取得するように変更する。

まず、APIキーとか秘密鍵とかが必要になるので、取得する。
それはこのサイト参考。

1点注意で、「OAuth 2.0 の クライアント ID を作成する」所で、デフォルトではjsonフォーマットの物が出力されてしまうので、p12形式を選択すること。

また「秘密鍵のパスワードが云々」とでるけど、ソコは気にしなくて良いみたい。

Google Analytics API v3をPHPから利用する方法 | karakaram-blog

 

で、「gapi.class.php」から使うライブラリが「 google-api-php-client」になった場合のプログラムの書き換えのポイントをメモ。

旧「gapi.class.php」

とかとしてたのだけど、

下記のようになる。(実行ファイルと同じディレクトリにライブラリを配置したイメージ。)

 

・gaからのデータ取得のための、IDとかパスの所は丸々変わるので、差し替える。

・データ取得実行の部分のパラメータもフォーマットは変わるので合わせる。ディメンションやソート、フィルターは最後の引数に連想配列でセットする。

 

・その時各指標名などは先頭に「ga:」を付ける。(フィルター等も同様)

 

・データ取得の戻り値そのものではなく、rowsに各データが入っている。

 

・戻り値[rows][0]⇒ディメンション、[rows][1]~各指標という感じ。※複数ディメンションは試してない。

・ちょっと正確じゃないけど、フィルターとかの値にスペースが入っているとダメっぽい。隙間は無くす。

 

大体これで、とっていたデータは取れると思う。

 - google, googleanalytics, php

  関連記事

php-logo
【PHP】オブジェクトの比較

PHP 5では、オブジェクトの比較は、オブジェクト指向言語に期待される動作に対応 …

php-logo
PHPにおける日付

関数 date(書式,タイムスタンプ(エポック)) strftime(書式,タイ …

mongo-logo
MongoDBとPHP_リンクと個人的ポイントまとめ

=============================== リンク集 === …

php-logo
リテラル

プログラムのソースコード中に使用される定数のこと。「255」「fujiyama」 …

casperjs
【Googleトレンド】【Casperjs】急上昇中キーワードをスクレイピングで取得 – (3) Casperjsの利用

## インストールはこちら 大雑把な使い方を下記で確認。 [クイックスタート]h …