2016-01-05 Google Analytics Core Reporting API を JavaScript で呼び出した
2016-01-03 につくった bouzuya/cars-counter-bbn-google-analytics のことを書く。
bouzuya/cars-counter-bbn-google-analytics は bouzuya/cars の counter のひとつだ。 blog.bouzuya.net の Google Analytics に表示される「ユーザー」「セッション」「ページビュー数」を収集する。
今回の目的は昨日 (2016-01-04) に書いたものと同じだ。
今回は Google Analytics Core Reporting API を呼び出す。 Google Analytics の API を呼び出すのは 2014-03-21 以来だ。
前回 (2014-03-21) の用途は Hubot script の ga.js のためだ。こちらも Google Analytics の情報を表示するために呼び出していた。
今回も前回 (2014-03-21) と同様の npm package である googleapis (google/google-api-nodejs-client) を使う。前回の version は把握していないけれど、今回の version は googleapis@2.1.7
だ。おそらく前回は 0.x だった。
前回と今回で多くの変更点があった。 googleapis 0.x to 2.x の移行は google/google-api-nodejs-client の MIGRATING.md にまとめられている。変更点としては次のようなものが挙げられる。
- 認証を別 npm package である google-auth-library ( google/google-auth-library-nodejs) に分離している
- Discovery API なしで呼び出せるようになっている
- 細かい引数の変更や method の削除
client library 以外におそらく API 自体の version も変わっている。ga.js では metrics に 'ga:visits'
や 'ga:visitors'
を使っていた。それらは deprecated となっている。いくつかの metrics が deprecated になっているのだろう。今回は 'ga:users'
/ 'ga:sessions'
/ 'ga:pageviews'
を使うようにした。
また deprecated になった metrics については reference に書いてあった。
API 呼び出しのための認証情報の取得は変わっていない。
- Google Developers Console で project を作る
- Analytics API を有効にする
- Credentials で Service account key (key type: JSON)を作る
- Google Analyticis の対象の View に Service account key の client_email を「表示 & 分析」の権限で追加する
呼び出し部分の詳細は /src/client.coffee を見ると良い。
実行した結果は http://graph.hatena.ne.jp/bouzuya/blog-weekly-pageviews/ にある。
参考