RedashでGoogle Spread Sheetのデータソースを作成する

前回記事でAmazon RDSのデータソースを作成しましたが、今回はGoogle Spread Sheetとした場合のデータソースを作成してみます。

## RedashとGoogle Spread Sheetの連携設定

まず始めに、RedashとGoogole Spread Sheetが連携できるように設定を行います。

#### 1. Google Cloud Platformのサービスアカウントの作成
① Googleにログインした状態で以下にアクセスします。
　　[https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials)
 ※G Suiteのアカウントだと一部操作権限を保持していないものがあったため、個人アカウントでの操作手順となります。
![GCP認証情報](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/73d31e30-98ed-74e3-ebbf-360ae7884ff8.png)
② 事前にGCPのサービスアカウントを作成していない場合は、`[認証情報を作成]` - `[サービスアカウント]`を選択すると、サービスアカウント作成画面が表示されますので、サービスアカウント名を入力して、サービスアカウントの作成を行います。
![GCPサービスアカウント詳細](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/68d22020-7f62-bb78-b36e-ee6637d7b310.png)
③ サービスアカウントのロール設定を行います。
![GCPロール設定](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/a3160e8e-f4a4-f2e9-6782-9ea1f0186242.png)
④ 権限を付与するメールアドレスを指定し、サービスアカウントを作成します。
![GCPアクセス権付与](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/17996fcb-561c-790c-b223-3c7eb166a698.png)
⑤ サービスアカウントを作成すると、以下のように表示されます。
![GCPサービスアカウント作成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/79ec8537-0935-b209-a53b-9f810c2f66e9.png)
⑥ 次に、左メニューの「ダッシュボード」を選択すると表示される「APIとサービスを有効化」を選択します。
![GCPサービス有効化](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/220fac0e-5871-5d26-e239-e5b9a532f61d.png)
⑦ 「Google Sheets  API」を選択します。
![GCPAPIライブラリ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/09d6f8b2-3334-5b6b-de51-5dbc8b9a1fa1.png)
⑧ Google Sheets APIを有効にします。
![GCP Sheets API](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/6c319de4-6fa9-39f4-f711-52e733f9bca3.png)
⑨ 有効化されると、以下のように表示されます。
![GCP Sheets API 詳細](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/e6d9de26-0a13-c05e-3d5f-466aefbcbdef.png)
⑩ 再度、`[APIとサービス]`  - `[認証情報]`を表示し、作成したサービスアカウントを選択します。
![GCP 認証情報](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/898cab4e-d99f-9de1-e0f2-1cd9a6fd2dea.png)
⑪ サービスアカウントの詳細画面が表示されますので、「鍵を追加」ボタンを押下します。
![GCP 鍵追加](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/9175fd23-9d5b-05ec-dd6e-207a8f15eb50.png)
⑫ 「JSON」を選択し、秘密鍵の作成を行います。
![GCP秘密鍵作成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/fc00d69d-892d-9f1b-89b5-52d4682b821b.png)
⑬ 秘密鍵がダウンロードフォルダに保存されますので、大切に保存しておいてください。
![GCP秘密鍵保存1](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/d6f277ab-5188-4a0f-dcea-57b3845c036d.png)
⑭ 秘密鍵が作成されると、以下のように表示されますので、「保存」ボタンを押下します。
![GCP秘密鍵保存2](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/762ed383-b245-71ea-73ec-f59d7b1e606d.png)
以上で、サービスアカウントの作成は終了です。

#### 2．Google Spread Sheetの設定
① データソースとなるGoogle Spread Sheetを準備します。
　***※Excelはデータソースの対象外となります。***
　ここでは、サンプルデータのスーパーストア（Tableau）を使用します。
![Spread Sheet](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/1968fc8a-f346-6f84-0c32-6b8d953dc53e.png)
② 該当ファイルを開き、SpreadSheet右上の「共有」ボタンを押下します。
![Spread Sheet共有](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/b0e69cc6-feed-4ca0-362b-235b567dd114.png)
③ 「ユーザーやグループを追加」欄に、上記で保存した秘密鍵に記載されているClient_emailの値を設定します。
![client-email](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/66cbd80c-f113-fbf5-6fcb-347cc3c7bae9.png)
④ ユーザーを設定したら、「送信」ボタンを押下します。
![ユーザーやグループと共有](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/bf9a6d31-0f60-6be9-f871-ff75d3422d83.png)
⑤ 「ユーザを追加しました。」と表示されます。

以上で、Google Spread Sheetの設定は終了です。

-----
RedashとGoogle Spread Sheetの連携設定が出来たら、データソースを作成します。

## データソース（Google SpreadSheet）作成
① Redashにログインします。
② ツールバー右の「ｖ」を選択し、表示されたリストから「Data Sources」を選択します。
![Data Sources](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/f17ece12-df23-b1f8-84fd-cb02d23a2ef8.png)
③ 設定画面が表示されますので、「＋ New Data Source」ボタンを押下します。
![Settings](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/1754abd0-c538-7f9a-d982-97ff09b9b3b7.png)
④ データソースを選択するサブウインドウが表示されますので、ここでは「Google Sheets」を選択します。
![Google Sheets選択](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/c66ecf8d-eed0-d91d-2c70-278922d203cd.png)
⑤ データソース対象のSpread Sheetと上記で作成した秘密鍵ファイルを選択します。
![ファイル選択](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/f6857b76-c4a6-5bf5-4848-e7b6b3c37a0f.png)
⑥ データソースの作成を行います。
![データソース作成](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/4803e86c-d358-c6d8-7e7b-75932ac058b6.png)
⑦ データソースを作成したら、接続テストを行います。
![接続テスト](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/d760f233-beae-c22c-176c-523599571f63.png)
⑧ 接続テストが成功したら、保存ボタンを押下します。
![データソース保存](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/03312525-d18e-dc63-9d28-cb5eadc550d7.png)
⑨ Data  Sourcesタブにデータソースが作成されました。
![image-20200818171154522.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691277/552e6252-2cd7-e443-ca14-f5672e88c4fe.png)
以上で、データソース（Google  Spread Sheet）の作成は終了です。

株式会社メソドロジック
赤尾　一優　@Kaz_akao