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>
ステップ 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も同じように動作確認可能だと思いますので、ぜひ試してみてください!