blog.bouzuya.net

2016-01-05 Google Analytics Core Reporting API を JavaScript で呼び出した

2016-01-03 につくった bouzuya/cars-counter-bbn-google-analytics のことを書く。

bouzuya/cars-counter-bbn-google-analyticsbouzuya/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 にまとめられている。変更点としては次のようなものが挙げられる。

client library 以外におそらく API 自体の version も変わっている。ga.js では metrics に 'ga:visits''ga:visitors' を使っていた。それらは deprecated となっている。いくつかの metrics が deprecated になっているのだろう。今回は 'ga:users' / 'ga:sessions' / 'ga:pageviews' を使うようにした。

また deprecated になった metrics については reference に書いてあった。

API 呼び出しのための認証情報の取得は変わっていない。

  1. Google Developers Console で project を作る
  2. Analytics API を有効にする
  3. Credentials で Service account key (key type: JSON)を作る
  4. Google Analyticis の対象の View に Service account key の client_email を「表示 & 分析」の権限で追加する

呼び出し部分の詳細は /src/client.coffee を見ると良い。

実行した結果は http://graph.hatena.ne.jp/bouzuya/blog-weekly-pageviews/ にある。

参考