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のfopenのオプション

http://php.net/manual/ja/function.fopen. …

【PHP】【DB開発メモ】PDOの検索結果からHTML<table>の作成

resultから項目名でthを作って、valueでtdを作る処理。 ざっくり表示 …

ODBCとPDOの違い

どちらもDBA(Database Access Object)の一種。 PDOは …

[PHP]配列を文字列化するときに囲い文字を設定する。(implode,explode)

配列をCSV化するというときとか、SQLのIN句の中身を作成するときとか、カンマ …

GA_サマリに出てくる線グラフを表形式で見たい

なんとなくそのように見たくなった。 多分どこかにあるんだろうけど、エクスポートか …