戯言

つらつらと気づいたことを書いていきます。人狼とか。

GoogleAnalyticsのリアルタイムAPI Java版の使い方 step1


Google Analytics のリアルタイムAPI(Google Analytics Real Time Reporting API v3) を使用して、るる鯖全体の総アクティブユーザ数と、ページごとのユーザ数をリアルタイムに表示してみました。(公開時のブログはこちら) 

リアルタイムAPIは、まだベータ版でもあり、提供元Googleのドキュメントは英語しかありません(2013年10月時点)。そのため、今回はリアルタイムAPIを使用するまでに、私が踏んだ手順を、簡単にですがまとめてみます。Java版を利用しています。

まずは、利用するまでのおおよその流れです。

①事前準備
1.Google API consoleへのプロジェクト登録
2.リアルタイムAPIベータ版利用登録
3.クライアントライブラリのダウンロード、ビルドパスにAPI追加
4.コーディング時に必要な情報の確認
5.コーディング
- Credentialオブジェクト作成
- Analyticsオブジェクト作成
- リアルタイムデータの取得!

見てわかるとおり、コーディングする前の準備作業がいろいろと面倒です。
次から、一つひとつを説明していきます。

1.Google API consoleへのプロジェクト登録


まずは、Google API console に、プロジェクトを登録します。登録したプロジェクトごとに、APIの利用回数(※リアルタイムAPIには1日間のAPI利用数などに制限があります)や、認証情報などを管理されるので、まずはプロジェクトを作成してください。

Google API console の URL はこちらです
https://code.google.com/apis/console/

登録したプロジェクトでは、次の設定をします。
・左の Services メニューから、Analytics API を ON にして、Analytics API を使えるようにします。
・API Access メニューから、OAuth 2.0 のクライアントIDを作成します。

クライアントID 作成時には、Application Type を次の3つの中から選びます。選ぶ基準は下記のような感じですが、私は Service account しか試していないので、細かい違いについては割愛しますが、ソースの書き方も変わってくるので、適切に選択してください。

・Web application ・・・ ウェブブラウザ経由でAPIを利用する場合
・Service account ・・・ エンドユーザがAPIを利用する代わりに、特定のサービスがAPIを利用する場合
・Installed application ・・・ 個別ソフトウェア、携帯アプリなどからAPIを利用する場合

Application Type によって、Analytics情報にアクセスする際の認証の仕組みが変わってきます。
るる鯖では、るる鯖自体が定期的にAnalytics情報を取得してるる鯖のページを更新しており、エンドユーザはるる鯖にアクセスしてその情報を閲覧しています。

エンドユーザ ⇔ るる鯖 ⇔ Analytics情報

この場合、るる鯖だけがAnaytics情報を取り扱えればよいため、るる鯖のみに認証の仕組みを導入すればよく、エンドユーザには何の手順も必要ありません。
このような場合は、Service account を選択すると良いでしょう。

Service account を選択すると、p12拡張子のファイルをダウンロードすることになります。このファイルは後で利用するので、大切に保存しておいてください。このファイルは、パスワードなどと同様で、他人に渡してはならない情報です。

一方、エンドユーザのブラウザから、直接APIを利用する場合(例えば、サイトのアクセス解析を超便利にできるシステムを作って、利用者の自サイトのアクセス解析で広く利用してもらいたい場合など)は、エンドユーザ自身がシステムを使って自サイトのAnalytics情報にアクセスする必要があり、個々のエンドユーザにAPI利用の認証をさせることになります。この場合は、Web application を選択します。
誰でもが自サイトのAnalytics情報にアクセスできたら困るので、システムを利用する前に、そのシステムが自サイトのAnalytics情報を利用してよいかを確認するための認証です。

準備の一段階目だけで長くなってしまいました。続きはまた書きます。




関連記事

管理者にだけ表示を許可する