[インポートコネクション]Google Sheets(Google スプレッドシート)
概要
Airbyteを使用して、Google Spread Sheetを取り込みます。
認証方法について
認証方法として「Authenticate via Google (OAuth)」(以下、「OAuth認証」という)と「Service Account
Key」のいずれかをご使用いただけます。
それぞれの方式に有効期限の観点では大きな違いはありませんが、「OAuth認証」には以下の懸念点があるため「Service Account
Key」の使用を推奨します。
懸念点1:リフレッシュトークンの発行上限数に達し、認証に使用していたリフレッシュトークンが予期せず無効になる可能性がある
懸念点2:認証に使用していたユーザアカウントが削除される可能性がある(認証に使用していた担当者が退職しアカウントを削除した、など)
接続手順
以下の手順に従い、コネクションを使用するために必要な情報を取得し、ecforce AIdp管理画面にて設定を行ってください。
※コネクション作成画面を別タブで開き、情報の取得とコネクションの設定を同時に行うことを推奨します。
Step 1:Google Cloud Platformのプロジェクトを準備する
----------【Service Account Keyを使用する場合】----------
Step 2:GCPプロジェクトにサービスアカウントを作成する
Step 3:追加したサービスアカウントに対する認証鍵を作成する
Step 4:コネクションを作成する
----------【OAuth認証を使用する場合】----------
Step 2:GCPプロジェクトにOauth認証のクライアントIDを新規作成する
Step 3:Oauthplaygroundを用いてリフレッシュトークンを取得する
Step 4:コネクションを作成する
Step 1:Google Cloud Platformのプロジェクトを準備する
- Googleコンソール内プロジェクト作成画面にアクセスする
- 「APIとサービス > 有効なAPIとサービス > APIとサービスを有効化する」をクリックする
- 検索欄に「Google Sheets API」を入力して検索する
- Google Sheets APIを選択し「有効化する」をクリックする
- 認証方法として「Service Account Key」を使用する場合はこちら、「OAuth認証」を使用する場合はこちらへすすむ
----------【Service Account Keyを使用する場合】----------
Step 2:GCPプロジェクトにサービスアカウントを作成する
- Google Cloudにアクセスし、対象のプロジェクトを選択する
- 「サービスアカウント > サービスアカウントを作成」ボタンをクリックする
- 情報を入力して「完了」をクリックする
※権限のロールは「閲覧者」を推奨
Step 3:追加したサービスアカウントに対する認証鍵を作成する
- Googleコンソール内プロジェクト作成画面にアクセスする
- 「APIとサービス > 認証情報」をクリックし、作成したサービスアカウントをクリックする
- 「鍵」タブをクリックする
※項目「メール」に表示されるメールアドレスがサービスアカウントのアドレス - 「キーを追加 > 新しい鍵を作成」をクリックする
- キーのタイプは「JSON」を選択し「作成」をクリックする
-
JSONファイルがダウンロードされたことを確認し、ファイルの内容をコピーする
コピーした値は、コネクション作成画面の項目「Authentication > Service Account Key Authentication」内の「Service Account Information」に設定してください。
- 対象のスプレッドシートの閲覧権限をサービスアカウントに付与する
※ecforce AIdpにインポートするスプレッドシートを開き、右上の「共有」から作成したサービスアカウントを指定する。(権限は閲覧者権限を指定する) - Step 4:コネクションを作成するへすすむ
----------【OAuth認証を使用する場合】----------
Step 2:GCPプロジェクトにOauth認証のクライアントIDを新規作成する
- OAuthクライアントページにアクセスし、「クライアントを作成」ボタンをクリックする
- 以下の通りに入力し「作成」をクリックする
・「アプリケーションの種類」は「Webアプリケーション」を選択
・「承認済みのリダイレクト URI」は「https://developers.google.com/oauthplayground」を入力
・「承認済みの JavaScript 生成元」は「なし」を選択 -
ダイアログで「クライアントID」「クライアントシークレット等の情報」が表示されるので、JSON形式でファイルをダウンロードする
※ダイアログを閉じると再確認できないため注意するJSONファイル内の以下の値は、コネクション作成画面の項目「Authentication > Authenticate via Google (OAuth)」内の以下の箇所に設定してください。
・「client_id」の値 →「Client ID」
・「client_secret」の値 →「Client Secret」
Step 3:Oauthplaygroundを用いてリフレッシュトークンを取得する
- Oauthplaygroundにアクセスする
- 「OAuth Client ID」と「OAuth Client secret」の入力欄が表示されるため、Step 2:GCPプロジェクトにOauth認証のクライアントIDを新規作成するの手順2で作成したOAuthクライアントの情報を入力する
※本操作を行わなかった場合、リフレッシュトークンの有効期限が24時間となってしまうため注意する - サイドメニューから「Google Sheets API v4 > https://www.googleapis.com/auth/spreadsheets 」スコープを選択し、「Authorization Apis」をクリックする
- Googleアカウントの認証画面が表示されるので、使用するユーザーアカウントで認証をする
-
サイドバーの表示が「Step2」へ進むので「Exchange authorization code for tokens」をクリックし、表示されたリフレッシュトークンをコピーする
コピーした値は、コネクション作成画面の項目「Authentication > Authenticate via Google (OAuth)」内の「Refresh Token」に設定してください。
- Step 4:コネクションを作成するへすすむ
Step 4:コネクションを作成する
- ecforce AIdp管理画面にて、「コネクション > コネクションを作成 > インポート用コネクションを作成する」をクリックする
- 「Google Sheets」を選択して「決定」をクリックする
-
以下の項目を入力して、「接続確認をして保存」をクリックする
項目 説明 接続先サービス 選択した接続先サービス名が表示されます。 接続先名 接続先の名前を設定できます。
※管理用の名前です。説明 接続先の説明が設定できます。 項目 説明 Authentication 認証方法として「Authenticate via Google (OAuth)」もしくは「Service Account Key Authentication」のいずれかを設定してください。
▼「Authenticate via Google (OAuth)」の場合
以下の項目を設定してください。
・Client ID:Step 2:GCPプロジェクトにOauth認証のクライアントIDを新規作成するの手順3でダウンロードしたJSONファイルの「client_id」
・Client Secret:Step 2:GCPプロジェクトにOauth認証のクライアントIDを新規作成するの手順3でダウンロードしたJSONファイルの「client_secret」
・Refresh Token:Step 3:Oauthplaygroundを用いてリフレッシュトークンを取得するの手順5でコピーしたリフレッシュトークン
▼「Service Account Key Authentication」の場合
Step 3:追加したサービスアカウントに対する認証鍵を作成するの手順6でコピーしたJSONファイルの内容を設定してください。Spreadsheet Link 同期したいGoogleスプレッドシートへのリンクを設定してください。 Row Batch Size Google Sheets APIへのリクエストごとの行バッチサイズ(整数)を設定してください。
※行バッチサイズ:Googleスプレッドシートから処理される行数Convert Column Names to SQL-Compliant Format 列名をSQL準拠の形式(スネークケース、小文字など)に変換するか否かを設定してください。
変換する場合はチェックを入れてください。
この記事の目次
このセクションの記事