対象読者
- Google AnalyticsをAPIで活用したい方
- API利用初心者
サンプルの動作確認環境
- 環境の要件:Java(1.8)、Linux(CentOS6.7)
Reporting APIの仕様確認
現在のレポーティング用APIのバージョンは「Reporting API V4」になります。ひとつ前のバージョンである「CoreReporting API V3」も引き続きサポートされており(2016年10月現在)、正常動作します。そのためオフィシャルサイトでもV3とV4の情報が混在しています。
ただ今回のようにJavaなどプログラミング言語のクライアントライブラリを利用する場合はソースコードが異なりますので、V3のサンプルはそのままでは動きません。
古いバージョンはいずれサポートされなくなりますので、新規に作成する場合はV4の情報を参照するようにしてください。
APIのバージョンはURLで確認できます。

ReportingAPIにおけるディメンションと指標
GA-APIでどのようにディメンションと指標を指定するかはこちらで確認できます。
例えばランディングページのAPI名を確認したい場合は、検索窓に「landing」と英語のUI名の一部を入力するとAPI名を確認できるようになっています。

検索結果は下記の様になります。

ランディングページのAPI名は”ga:landingPagePath”ということがここから確認できます。
英語のUI名が分からない場合はGoogleアナリティクスの管理画面を英語表記にして確認できます。「ユーザー設定」>「アカウント情報の編集」から言語の英語表記を選択できます。
Javaクライアントライブラリ
ReportingAPI向けJavaクライアントライブラリの仕様を調べる際は、JavaDocを利用することになります。
例えば「項目のソート」を指定をしたい場合にはグローバルナビにあるIndexのページより「sort」の文字列を探してみると下記のように、OrderByクラスがその機能を持っていることがわかります。

ここからOrderByクラスの詳細ページでメソッドによりソートが指定できることが確認できます。

SpreadSheetアドオン
プログラミングなしで簡易的にGoogleアナリティクスAPIのレポート機能を利用できるSpreadSheetアドオンを紹介します。
例えば解決したい課題が下記に限定されるようなケースでは、このアドオンを使う方法も有効です。
- 複数のビューからデータを取得したい
- Googleアナリティクスのデータを利用しつつ、独自の計算式でKPIなどを表現したい
- グラフを自由に変更したい
- 誰でもデータを見ることができるようにしたい
もちろん下記のような状況ではアドオンのみでは解決できないので、本稿のようにソースコードから利用する事になります。
- 既存のウェブアプリケーションに統合したい
- 既存のネイティブアプリケーションに統合したい
- Googleアナリティクス以外のデータも利用してデータ加工したい
課題に合った方法であれば、ツールを利用するのも効果的なので、参考にしてください。