IIJクラウドデータプラットフォームサービス(以下、CDP)では、Googleスプレッドシートアダプターを使用することで、かんたんにGoogleスプレッドシートと連携ができます。
本記事では、Googleスプレッドシートアダプターに含まれるGoogleSheetsGet、GoogleSheetsPut、及びGoogleSheetsSQLCallの各種コンポーネントで使用できるコネクションの作成方法、実際に使用するまでに必要な設定をご紹介します。
目次
Googleスプレッドシートへの接続は、GoogleのOAuth認証で行います。
GoogleのOAuth認証には、OAuth同意画面の作成、及び認証情報でOAuth 2.0クライアントIDを作成する必要があります。Google Cloudにログインできるアカウントの作成を事前に行ってください。
またCDPにおいて、Googleスプレッドシートアダプターをご契約いただいていることが前提です。
大まかに2つの観点から設定を行っていきます。
「2.フローデザイナーで、コネクションの作成(AccessToken取得用と運用用)」については、それぞれ次の作業を行います。
運用用コネクションを作成する上で、OAuth Access TokenとOAuth Refresh Tokenが必要となるため実施する手順です。
AccessToken取得用コネクションで作成したOAuth Access TokenとOAuth Refresh Tokenを設定し、運用用コネクションを作成する手順です。
本アダプターをまず使用してみたい場合は、ZIPファイルをご用意したのでご利用ください。
作成するフローや、紹介で使用する完成済のフローが含まれているため、実施する手順を省略してお試しいただけます。
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
ZIPファイルを展開すると、「GoogleSpreadSheetsAdapterSample.xfp」と「sample.csv」が含まれています。
ご利用時は、次の手順のみ実施してください。
まずはOAuth同意画面の作成を行います。
作成していない場合は、次の記載を参考に任意のプロジェクトを作成してください。
画面上部のプロジェクト名をクリックしてください。
「新しいプロジェクト」をクリックしてください。
プロジェクト名を入力し、「作成」をクリックしてください。
左のナビゲーションメニューから、「APIとサービス」をクリックし、「OAuth 同意画面」をクリックします。
「User Type」で「内部」を選択し、「作成」をクリックしてください。
次の画面に遷移したら、赤枠部分は次の記載を例にして設定してください。
入力後「保存して次へ」をクリックしてください。
次の画面では「保存して次へ」をクリックしてください。
最後は入力内容に間違いがないことを確認し、「ダッシュボードに戻る」をクリックしてください。
これで、同意画面の作成は完了です。
2つのAPIを有効化します。
次の手順でAPIを有効化します。
左のナビゲーションメニューから、「APIとサービス」をクリックし、「ライブラリ」をクリックしてください。
検索窓にAPI有効化対象の値を張り付け、Enterを押下してください。
画面遷移後、該当のAPIが表示されます(例:Google Driver API)。クリックしてください。
「有効にする」をクリックします。この操作を有効化するAPIの数だけ実施してください。
Google Cloud側での最後の作業として、認証情報を作成します。次の手順で作成してください。
コネクションはFSMC側でも作成できますが、後続処理はすべてフローデザイナー側でしかできないため、ここで紹介する手順はすべてフローデザイナー側で行います。
次の手順で、AccessToken取得用のコネクションを作成します。
コネクションペインのツールバーから、赤枠部分のコネクション作成アイコンをクリックしてください。
「コネクションの作成」画面で情報を入力後「OK」をクリックしてください。
AccessToken取得用コネクション「GoogleSheet-Verifier」を作成後、基本タブで次の図の赤枠部分に情報を入力して保存してください。
このフローを作成する目的は、GoogleのOAuth認証を行うために、GoogleのOAuth認証画面へアクセスするためのAuthorization URLを取得することです。
次の手順で、GoogleのOAuth認証を行うためのAuthorization URLを取得するフローを作成します。完成フローは下の図のとおりです。
完成フロー
完成済みのフローをご用意しました。この下のダウンロードリンクから取得できます。
ZIPファイルを展開し「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「GetAuthorizationURL」フローが完成フローです。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
SQL文
{call GetOAuthAuthorizationURL(?Scope?, ?CallbackURL?, ?Prompt?, ?AccessType?, ?State?)}
SQLパラメーター
パラメーター名 | 入出力 | データ型 |
---|---|---|
Scope | 入力 | VARCHAR |
CallbackURL | 入力 | VARCHAR |
Prompt | 入力 | VARCHAR |
AccessType | 入力 | VARCHAR |
State | 入力 | VARCHAR |
ツリーペインのツールバーから、プロジェクトの作成アイコンをクリックしてください。
「名前」には任意の名前(例:GetAuthorizationURL)を入力してください。
パレットの「コントロール」から「Mapper」コンポーネントをドラッグ&ドロップしてください。
パレットの「マルチセレクト」から「GoogleSheetsSQLCall」コンポーネントをドラッグ&ドロップしてください。
パレットの「コントロール」から「Mapper」コンポーネントをドラッグ&ドロップしてください。
パレットの「コントロール」から「EndResponse」コンポーネントをドラッグ&ドロップしてください。
「GoogleSheetsSQLCall1」をクリックし、基本タブ、SQLパラメータータブ、ストリームペインの設定を行ってください。
8-1.GetAuthorizationURL、GoogleSheetsSQLCallコンポーネント各種設定を参照し、対応するWarp VersionのSQLパラメーターの設定を行ってください。
フィールド名「URL」、データ型「String」で設定してください。
まず「Mapper1」をダブルクリックしてください。
パレットの「文字列」から「Const」マッパー関数をドラッグ&ドロップしてください。
「Const1」をダブルクリックし、「https://localhost:33333」を入力し、保存してください。
「Const1」と「SQLパラメーター」の「CallbackURL」を紐付け、保存してください。
「Mapper2」をダブルクリック後、「URL」と「Object」を紐付けて保存してください。
ここまでの手順で、Authorization URLを取得するフローの作成は完了です。
このフローを作成する目的は、運用用のコネクションで設定するOAuth Access TokenとOAuth Refresh Tokenを取得するためです。
次の手順で、OAuth Access TokenとOAuth Refresh Tokenを取得するフローを作成します。完成フローは下の図のとおりです。
完成フロー
完成済みのフローをご用意しました。この下のダウンロードリンクから取得できます。
ZIPファイルを展開し「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「GetOAuthAccessToken」フローが完成フローです。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
SQL文
{call GetOAuthAccessToken(?AuthMode?, ?Verifier?, ?Scope?, ?CallbackURL?, ?Prompt?, ?AccessType?, ?State?)}
SQLパラメーター
パラメーター名 | 入出力 | データ型 |
---|---|---|
AuthMode | 入力 | VARCHAR |
Verifier | 入力 | VARCHAR |
Scope | 入力 | VARCHAR |
CallbackURL | 入力 | VARCHAR |
Prompt | 入力 | VARCHAR |
AccessType | 入力 | VARCHAR |
State | 入力 | VARCHAR |
ツリーペインのツールバーからフローの作成アイコンをクリックしてください。
「フロー名」で任意のフロー名(例:GetOAuthAccessToken)を入力してください。
パレットの「コントロール」から「Mapper」コンポーネントをドラッグ&ドロップしてください。
パレットの「マルチセレクト」から「GoogleSheetsSQLCall」コンポーネントをドラッグ&ドロップしてください。
パレットの「コントロール」から「EndResponse」コンポーネントをドラッグ&ドロップしてください。
「GoogleSheetsSQLCall1」をクリックし、基本タブ、SQLパラメータータブ、ストリームペインの設定を行ってください。
9-1.GetOAuthAccessToken GoogleSheetsSQLCallコンポーネント各種設定を参照し、対応するWarp VersionのSQLパラメーターの設定を行ってください。
次にストリームを定義します。
ストリームペインのフィールド名下あたりで右クリックを行い、CSV形式で編集(L)をクリックします。ウィンドウが開くので次の内容をコピー、図を参考にペーストを行い「OK」をクリックしてください。
OAuthAccessToken,String
OAuthRefreshToken,String
ExpiresIn,String
まずは「Mapper1」をダブルクリックしてください。
Const1は、後述する11.認証レスポンスの取得で取得したURLをペーストして設定するために使用します。
パレットの「文字列」から「Const」マッパー関数をドラッグ&ドロップしてください。
ExtractString1は、「?code=」から始まる文字列の右側の文字列を取り出すために使用します。
パレットの「文字列」から「ExtractString」マッパー関数をドラッグ&ドロップしてください。
ExtractString1は、「&scope=」から始まる文字列の左側の文字列を取り出すために使用します。
パレットの「文字列」から「ExtractString」マッパー関数をドラッグ&ドロップしてください。
Const2は、CallbackURLを指定するために使用します。
パレットの「文字列」から「Const」マッパー関数をドラッグ&ドロップしてください。
次のとおり設定してください。
次のとおり設定してください。
「Const2」をダブルクリックし、「https://localhost:33333」を入力して保存してください。
次の紐付けを行い保存してください。
ここまでの手順で、OAuth Access TokenとOAuth Refresh Tokenを取得するフローの作成は完了です。
8.Authorization URLを取得するフローの作成で作成したフローを実行し、Authorization URLを取得します。
「GoogleSpreadSheetsAdapterSample.xfp」をご利用の場合はこの下のダウンロードリンクから取得後、「GetAuthorizationURL」フローを実行してAuthorization URLを取得します。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
ツリーペインの「GetAuthorizationURL」フローをダブルクリックしてください。
ツールバーから実行アイコンをクリックしてください。
「フロー」が「GetAuthorizationURL」であり、実行結果タブが選択されていることを確認して「実行」をクリックしてください。
赤枠部分に出力されたURLをすべてコピーしてください。コピー後は「閉じる」をクリックします。
認証レスポンスを取得します。
任意のブラウザを起動させてアドレスバーにURLをペーストし、Enterを押下してください。
赤枠部分の名前が4.OAuth 同意画面の作成で設定したアプリ名であることを確認してください。
異なる場合は、7.AccessToken取得用のコネクションの作成で設定した「OAuthクライアントID」が間違っているため修正してください。
メールアドレスを入力して「次へ」をクリックします。その後パスワードを入力する画面へ遷移するため、パスワードを入力してください。
表示された内容が、次と同じであることを確認してください。同じ、または同等の内容の場合は「許可」をクリックしてください。
「このサイトにアクセスできません」が表示されますが、想定通りの挙動です。
赤枠部分のアドレスバーのURLをすべてコピーしてください。コピー後、ブラウザは閉じて問題ありません。
9.OAuth Access TokenとOAuth Refresh Tokenを取得するフローの作成で作成したフローを実行し、OAuth Access TokenとOAuth Refresh Tokenを取得します。
「GoogleSpreadSheetsAdapterSample.xfp」をご利用の場合はこの下のダウンロードリンクから取得後、「GetOAuthAccessToken」フローを実行してOAuth Access TokenとOAuth Refresh Tokenを取得します。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
ツリーペインの「GetOAuthAccessToken」フローをダブルクリックしてください。
次に「Mapper1」をダブルクリックしてください。
「Const1」をダブルクリックし、先ほどコピーしたURLをすべてペーストして保存してください。
ツールバーから実行アイコンをクリックしてください。
「フロー」が「GetOAuthAccessToken」であり、実行結果タブが選択されていることを確認して「実行」をクリックしてください。
赤枠部分に出力されたURLをすべてコピーしてください。コピー後、「閉じる」をクリックしてください。
次の手順はすべてフローデザイナー側で行います。
AccessToken取得用のコネクションを作成します。
コネクションペインのツールバーから「GoogleSheets-Verifier」を右クリックし、「複製(C)」をクリックしてください。
表示されたウィンドウで、「接続名」を「GoogleSheets-Main」と入力して「OK」をクリックしてください。
運用用コネクション「GoogleSheet-Main」を作成後、基本タブ、詳細タブの設定を行い保存してください。
OAuthAccessToken、OAuthRefreshTokenについて
OAuthAccessTokenは、上の赤枠で囲んでいる「yyyyyyy」の部分を指しています。
OAuthRefreshTokenは、下の赤枠で囲んでいる「xxxxxxx」の部分を指しています。
運用用コネクションの「GoogleSheets-Main」を右クリックし、「接続テスト(T)」をクリックしてください。
下の図のようにテスト結果が表示され、「成功」になっていることを確認してください。
ここまでの手順で、GoogleSheetsGet、GoogleSheetsPut、GoogleSheetsSQLCall コンポーネントで使用できる運用用のコネクションの作成は完了です。
Appendix:コンポーネント&サンプルフローの紹介
GoogleSheetsGet、GoogleSheetsPut、GoogleSheetsSQLCallでは次のようなことができます。
コンポーネント名 | 概要 |
---|---|
GoogleSheetsGet | Googleスプレッドシートに存在するファイル内の1シートのデータを取得できます。 |
GoogleSheetsPut | Googleスプレッドシートに存在するファイル内の1シートにデータを追加できます。 |
GoogleSheetsSQLCall | 任意のSQLや、ストアドプロシージャを実行できます。 |
詳細については、アステリア株式会社が公開しているページをご確認ください。
次のリンクからダウンロードできる「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「GetSample」フローを使用することで、SQLビルダー画面を表示できます。
詳細な使用方法は、GoogleSheetsGetコンポーネントのヘルプをご確認ください。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
フロー
SQLビルダー画面
SQLビルダー画面では、Googleスプレッドシートに登録されているファイルの情報(ファイルIDなど)を取得できます。
次のリンクからダウンロードできる「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「PutSample」フローを使用することで、テーブルとフィールドの設定画面を表示できます。
詳細な使用方法は、GoogleSheetsPutコンポーネントのヘルプをご確認ください。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
フロー
テーブルとフィールドの設定画面
Googleスプレッドシートに登録されている「sample.csv」ファイルの「sample.csv」シートには、Name、Age、Size列が存在し、DBMSデータ型、Javaデータ型ではどう取り扱うデータなのかが示されています。
次のリンクからダウンロードできる「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「SQLCallFileUploadSample」フローを使用することで、CDPのローカルストレージにあるファイルをGoogleスプレッドシートにアップロードできます。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
フロー
GoogleSheetsSQLCallコンポーネントで設定する値は次の表を参照し、対応するWarp Versionに応じて各種設定してください。
SQL文
{call UploadDocument(?Id?, ?Name?, ?Description?, ?Starred?, ?ParentIds?, ?MIMEType?, ?LocalFile?, ?FileData?, ?Encoding?)}
SQLパラメーター
パラメーター名 | 入出力 | データ型 |
---|---|---|
Id | 入力 | VARCHAR |
Name | 入力 | VARCHAR |
Description | 入力 | VARCHAR |
Starred | 入力 | BIT |
ParentIds | 入力 | VARCHAR |
MIMEType | 入力 | VARCHAR |
LocalFile | 入力 | VARCHAR |
FileData | 入力 | VARCHAR |
Encoding | 入力 | VARCHAR |
SQL文
{call UploadDocument(?Id?, ?Name?, ?Description?, ?Starred?, ?ParentIds?, ?MIMEType?, ?LocalFile?, ?FileData?, ?Content?, ?Encoding?)}
SQLパラメーター
パラメーター名 | 入出力 | データ型 |
---|---|---|
Id | 入力 | VARCHAR |
Name | 入力 | VARCHAR |
Description | 入力 | VARCHAR |
Starred | 入力 | BIT |
ParentIds | 入力 | VARCHAR |
MIMEType | 入力 | VARCHAR |
LocalFile | 入力 | VARCHAR |
FileData | 入力 | VARCHAR |
Content | 入力 | VARCHAR |
Encoding | 入力 | VARCHAR |
次のリンクからダウンロードできる「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「SQLCallFileDownloadSample」フローを使用することで、GoogleスプレッドシートからCDPのローカルストレージにファイルをダウンロード(保存)できます。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
フロー
GoogleSheetsSQLCallコンポーネントで設定する値については次の表を参照し、対応するWarp Versionに応じて各種設定してください。
SQL文
{call DownloadDocument(?Id?, ?FileFormat?, ?LocalFile?, ?Encoding?, ?Overwrite?)}
SQLパラメーター
パラメーター名 | 入出力 | データ型 |
---|---|---|
Id | 入力 | VARCHAR |
FileFormat | 入力 | VARCHAR |
LocalFile | 入力 | VARCHAR |
Encoding | 入力 | VARCHAR |
Overwrite | 入力 | BIT |
SQL文
{call DownloadDocument(?Id?, ?FileFormat?, ?LocalFile?, ?Encoding?, ?Overwrite?, ?FileStream?)}
SQLパラメーター
パラメーター名 | 入出力 | データ型 |
---|---|---|
Id | 入力 | VARCHAR |
FileFormat | 入力 | VARCHAR |
LocalFile | 入力 | VARCHAR |
Encoding | 入力 | VARCHAR |
Overwrite | 入力 | BIT |
FileStream | 入力 | VARCHAR |
次のリンクからダウンロードできる「GoogleSpreadSheetsAdapterSample.xfp」に含まれる「SQLCallFileDownloadSample」フローを使用することで、Googleスプレッドシートのファイル内の1シートを取得。取得したデータをCDPのローカルストレージの新規ファイルに書き込むことで、ファイルを取得できます。
ダウンロードリンク
サンプルフロー ダウンロードリンク | GoogleSpreadSheetsAdapterSample.zip |
---|
フロー
Googleスプレッドシートアダプター(GoogleSheets)の紹介はこれで以上です。