Google Analytics 分析 － GCPも含めた全体的な設定

## はじめに
以前に[『Google Analytics のデータを Yellowfin で分析 ⁻ CData コネクタの活用』](https://qiita.com/ExtremeCarvFJ/items/297524ff56748a96f1ac)の中で、Yellowfin から CData コネクタ経由で Google Analytics に接続し、Google Analytics のデータを分析する方法を紹介しました。
ただ、前回の実装は、CData JDBC コネクタと Yellowfin を同一ホスト上にインストールすることを前提としていました。今回は Yellowfin が稼働するホストとは別の環境に CData JDBC コネクタをインストールした場合の実装手順を紹介します。
ちなみに、全容イメージは以下のような感じで、GCP と Yellowfin の両環境に関する手順を一通り説明します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/40461797-dff1-6175-4e97-bd7793aa8d5f.png)

## CData コネクタのダウンロードとインストール
[『Google Analytics のデータを Yellowfin で分析 ⁻ CData コネクタの活用』](https://qiita.com/ExtremeCarvFJ/items/297524ff56748a96f1ac)を参考に、Windows OS 上でコネクタのインストールまでを実行します。ただ、この段階ではライセンスファイルの登録手順だけは必要ありません。ライセンスファイルは、後の手順で登録します。

## GCP
#### プロジェクト作成
GCP 管理コンソールの [IAM と管理] > [プロジェクトを作成] から、新しいプロジェクトを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/381e3930-5760-b847-aea8-c2ca37cded34.png)

#### API 有効化
[API とサービス] > [有効な API とサービス] から、以下の API を有効にします。
・Google Analytics Admin API
・Google Analytics Data API
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/3fcf4e3a-48c7-1de1-0c0c-b6babb973b78.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/b252fa5b-90b3-49fb-1a4a-c491101bde18.png)

#### サービスアカウント作成
[IAM と管理] > [サービス アカウント] からサービスアカウントを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/39eaa057-c154-c86f-b5b9-b1b6d296bb75.png)

作成したサービスアカウントの [キー] タブから、JSON 形式の秘密鍵を新規で作成します。
作成した鍵 (例 yellowfin-ga-a0f4d5e61e2b.json) は、後の手順で Yellowfin が稼働する Linux OS に配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/09ad1a08-29d0-4525-d7d4-00f74ced9900.png)

## Google Analytics の設定
Google Analytics 管理コンソールの [管理] > [アカウントのアクセス管理] > [プロパティのアクセス管理] から [ユーザーを追加] を選択し、先の手順で作成したサービスアカウントを追加して、閲覧権限を付与します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/152ef57e-eb8a-93b4-d328-944750f8988f.png)

## Linux OS
#### 秘密鍵の配置
先の手順で作成した、サービスアカウントに紐づく秘密鍵を任意のディレクトリに配置します。
例 /usr/local/yellowfin/yellowfin-ga-a0f4d5e61e2b.json

#### ライセンスファイルの作成
CData コネクタをインストールしたホストとは異なるホストで稼働する Yellowfin にコネクタを登録する際に必ず必要となる作業です。
Yellowfin をインストールした Windows OS 上の lib フォルダから、cdata.jdbc.googleanalytics.jar を検索します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/eee246f2-e864-7f25-65cb-a1e3b3c1f393.png)

上記ファイルを Yellowfin が稼働する Linux OS の任意のディレクトリにコピーし、以下のコマンドを実行します。
```bash:license
java -jar cdata.jdbc.googleanalytics.jar –license
```

以下の質問には、任意の名前とメールアドレスを入力します。
```
Please enter your name and email address:
```

評価版として利用する時には、TRIAL と入力します。製品版のキーをお持ちの場合は、キーを入力します。
```
Please enter your Product Key:
(you may use “TRIAL” as the product key to activate a trial license)
Product Key:
```

コマンドを実行したディレクトリに以下のファイルが作成されるため、Windows OS の任意の場所に保管します。
```
cdata.jdbc.googleanalytics.lic
```
## Yellowfin
#### ライセンス登録
プラグイン管理画面から、先の手順で登録した Google Analytics のプラグインを選択し、上記手順で作成したライセンスファイルを追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/3a5c2fbc-5850-ce67-6416-ef21eb932e3a.png)

#### データソース作成
以下を参照に新規にデータソースを作成します。
|項目|設定値|
|---|---|
|名前|Google Analytics|
|データベースタイプ|一般 JDBC データソース|
|JDBC ドライバー|cdata.jdbc.googleanalytics.GoogleAnalyticsDriver(Google Analytics CData)|
|接続文字| jdbc:googleanalytics:AuthScheme=OAuthJWT;InitiateOAuth=GETANDREFRESH;OAuthJWTCert=/usr/local/yellowfin/yfga-387606-8184524099e2.json;OAuthJWTCertType=GOOGLEJSON|

接続文字の定義を簡単に説明します。
OAuthJWTCert に、サービスアカウントの秘密鍵を絶対パスで指定します。
この JSON 形式の秘密鍵の中に JWT のトークンが含まれています。同トークンを利用して認証を受けるために、AuthScheme=OAuthJWT と OAuthJWTCertType=GOOGLEJSON の指定が必要です。

#### ビュー作成
作成したデータソースからビューを作成すると、63 のテーブルとビューが参照できます (2023 年 5 月 24 日現在)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2128512/45319afb-d83f-26e5-8a54-0a25a69246d5.png)

## 最後に
以上、GCP 側も含め、一通りの環境設定の手順を紹介しました。参考になれば幸いです。
では皆様、良いデータ分析を! Cheers!!