【はじめてのGoogleアナリティクスAPI】Java環境でのサンプル実行方法

はじめてのGoogleアナリティクスAPI

Google APIとは、Googleが提供している様々なサービスを操作するためのAPIです。
Google Analytics APIを使えばGoogleAnalyticsのユーザーやアカウントデータをプログラムから管理でき、Core Reporting APIと併用することで、アカウント管理とレポート処理の自動化が可能となります。(ユニバーサルアナリティクスのみ)

記事の概要

ここでは、インストール済みJavaアプリケーションからAPIを利用する方法を紹介します。
Google APIのデベロッパーガイドに記載されているManagement APIクイックスタートを用います。
(この記事は2022年7月21日時点の内容です。)

環境準備

準備するもの

  • eclipse 2022(Full Edition)
  • Maven(Eclipseに同梱)
  • Googleアカウント
  • Googleアナリティクスのプロパティとビュー(1つ以上)
  • Google Cloudコンソールのプロジェクト

ステップ 1: アナリティクス API を有効にする

アナリティクス API を有効にする

Google Cloud PlatformにGoogleアカウントでログインし、プロジェクトを選択します。

左端のメニューからAPIとサービス>ライブラリを選択、Google Analytics APIを検索し「有効化する」をクリックします。

OAuth 同意画面を設定する(設定済みの場合省略可)

左のメニューからOAuth 同意画面を選択、必須項目の「アプリ名」、「ユーザー サポートメール」、「デベロッパーの連絡先情報」を入力し、「保存して次へ」をクリックします。

あとは既定のまま「保存して次へ」でOKです。

クライアント ID の作成

左のメニューから認証情報を選択、認証情報を作成からOAuthクライアントIDを作成します。

アプリケーションの種類を「デスクトップアプリ」を選択し、名前を入力して「作成」をクリックします。

クイックスタートガイドでは「その他」を選択となっていますが、現在選択肢にないため、「デスクトップアプリ」を選択

作成した認証情報を選択し、[JSON をダウンロード] をクリックします。ダウンロードしたファイルを client_secrets.json という名前で保存します。

ステップ 2: Google クライアント ライブラリをインストールする

Mavenプロジェクトの作成

クイックスタートガイドではGitHubのzipファイルを解凍しjarを取得となっていますが、GitHub上には.javaファイルのみのため、Mavenを用いてコンパイルします。

eclipseを起動し、ファイル>新規>Mavenプロジェクトを追加します。

「シンプルなプロジェクトの作成」にチェックを入れ、「次へ」をクリックします。

グループIDとアーティファクトIDに任意のIDを入力し、「完了」をクリックします。

Google アナリティクス Java クライアント ライブラリをダウンロード

追加されたアーティファクトID名のプロジェクト配下にあるpom.xmlを開き、以下のコードを追加し、上書き保存します。

上書き後しばらくすると、Mavenプロジェクト配下に「Maven依存関係」ディレクトリが作成され、その中に利用するJavaのライブラリが追加されます。(eclipseのパッケージエクスプローラーで確認できます。)

既にある<project>...</project>要素の間に追加してください。

<dependencies>
		<dependency>
			<groupId>com.google.apis</groupId>
			<artifactId>google-api-services-analytics</artifactId>
			<version>v3-rev20190807-1.32.1</version>
		</dependency>
		<dependency>
			<groupId>com.google.apis</groupId>
			<artifactId>google-api-services-analyticsreporting</artifactId>
			<version>v4-rev20211020-1.32.1</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.google.api-client/google-api-client-java6 -->
		<dependency>
			<groupId>com.google.api-client</groupId>
			<artifactId>google-api-client-java6</artifactId>
			<version>1.35.2</version>
		</dependency>
		<!-- https://mvnrepository.com/artifact/com.google.oauth-client/google-oauth-client-jetty -->
		<dependency>
			<groupId>com.google.oauth-client</groupId>
			<artifactId>google-oauth-client-jetty</artifactId>
			<version>1.34.1</version>
		</dependency>
</dependencies>

参考:Google Analytics API v3

参考:Analytics Reporting API v4

ステップ 3: サンプルを設定する

クイックスタートガイドを参考に、サンプルコードとjsonファイルをプロジェクトに追加します。(src>main>javaのパスに配置します。)

サンプルコードではログインユーザーの最初の Google アナリティクス ビューが表示されます。7日間以内にビューにセッションがない場合はNullPointerExceptionが発生するため注意!!

指定のビューから取得したい場合は、ソースコード42行目のprofile変数にビューIDを直接記述します。

ステップ 4: サンプルを実行する

eclipseよりJavaアプリケーションとして実行します。

デフォルトの実行ターゲットはHelloAnalytics クラスに設定します。

ブラウザが立ち上がり、Googleアカウントの選択画面が出てくるかと思います。

アカウントを選択すると、アカウントリクエスト画面が表示されるので「許可」をクリックします。

「Received verification code.You may now close this window.」というメッセージが出てきたら、ブラウザタブを閉じます。

実行がうまくいくと、 Google アナリティクス ビュー(旧プロファイル)の名前と、過去 7 日間のセッション数が出力されます。

Google Cloud Platformの画面に戻り、GoogleアナリティクスAPIのトラフィックにリクエストが送られていることを確認します。

以上でサンプルコードの動作確認は完了です。

他のGoogleAPIも同じように動作確認可能だと思いますので、ぜひ試してみてください!