GoogleSheetsInput - Google Sheetsからデータを取得

Google Sheetsから指定したセルやレコードのデータを取得し、ストリームまたはプロパティに出力します。
このコンポーネントはGoogle Sheets APIを使用します。データの取得範囲やフィールドとの関連付けは、専用のExcelビルダーで行います。
認証にはGoogleSheetsコネクションで設定されたサービスアカウントを使用します。詳細は「認証と設定」を参照してください。

■ストリーム情報

入力フォーマットNONE
接続数無制限
説明 入力ストリームは使用せず、すべて無視します。
出力フォーマットRecord
説明 Excelビルダーで定義した「レコード」領域のデータが出力されます。
レコード領域が複数定義されている場合、定義した数だけ出力ストリームが表示され、レコード定義名が各ストリームの名前になります。
フィールドの定義はExcelビルダー上で行い、フローデザイナー上では変更できません。
Excelビルダーで定義した「セル」領域のデータは、コンポーネントのプロパティとして出力され、後続のコンポーネントからストリーム変数として参照できます。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
コネクションconnection- Google Sheetsへの接続に使用するGoogleSheetsコネクションを指定します。 このプロパティの指定は必須です。事前に管理コンソールで有効なGoogleSheetsコネクションを作成しておく必要があります。
各コネクションの詳細については、「はじめに」-「詳細なトピック」-「フローの構成要素」-「コネクションプロパティ」を参照してください。
スプレッドシートIDstring入力&出力 データの取得元となるGoogleスプレッドシートのIDを指定します。 スプレッドシートIDは、スプレッドシートのURLから取得できます。例えば、URLが「https://docs.google.com/spreadsheets/d/1234567890abcdefghijklmnopqrstuvwxyz/edit」の場合、スプレッドシートIDは「1234567890abcdefghijklmnopqrstuvwxyz」です。 このプロパティはマッピングが可能です。
Mappingexcelmapping- データを取得するセルやレコードの範囲を定義するためのExcelビルダーを開きます。
Excelビルダーでは、以下の2種類のデータ領域を定義できます。
  • セル: 個別のセルを定義します。ここで定義したセルは、コンポーネントのプロパティ(ストリーム変数)として値が格納されます。
  • レコード: 表形式のデータ範囲を定義します。ここで定義した範囲は、レコードストリームとして出力されます。フィールド名やデータ型、読み込む列などを指定します。
ループを開始loopProcess- マッピングダイアログで定義した最初のレコード定義から取得したデータを、1レコードずつループして出力するか、まとめて出力するかを指定します。
はい [true] - ループの起点となり、1レコードずつ後続のコンポーネントにストリームを渡します。
いいえ [false] - 全てのレコードをまとめてストリームに出力します。

■ループ処理

マッピングダイアログで定義した最初のレコード定義から複数レコードを取得し、かつループを開始プロパティが「はい」の場合に、このコンポーネントはループの起点となります。

■エラー処理

タイプパラメーターエラー処理フロー
へのストリーム
エラー
コード
説明
汎用 なし コンポーネントの入力ストリーム1Google Sheets APIの実行に失敗した場合に発生します。(API実行時エラー、タイムアウト等)
2値のデータ型変換に失敗した場合に発生します。(例: 数値型フィールドに文字列を読み込もうとした場合)
3ストリームの作成に失敗した場合に発生します。
200指定されたスプレッドシートまたはシートが存在しない場合に発生します。

■使用方法

このコンポーネントは、Google Sheetsから指定したデータを読み取り、レコードストリームとして出力します。

  1. 接続の準備: 管理コンソールでGoogleSheetsコネクションを作成します。詳細な設定方法は「認証と設定」を参照してください。
  2. コンポーネントの設定:
    • フローデザイナーでGoogle Sheetsからデータを取得コンポーネントを配置します。
    • コネクションプロパティで作成したコネクションを選択します。
    • スプレッドシートIDプロパティに、対象スプレッドシートのIDを入力します。
  3. マッピングの定義 (Excelビルダー):
    • コンポーネントをダブルクリックすると、**Excelビルダー**が起動します。
    • ビルダー内で、スプレッドシートIDで指定したスプレッドシートが読み込まれ、内容がプレビューされます。
    • シート上のデータを直接クリックして、取得したい「セル」領域や「レコード」領域(表)の範囲を指定します。
    • 定義した各領域に対して、フィールド名やデータ型を設定します。これにより、コンポーネントの出力ストリームやプロパティ(ストリーム変数)が決定されます。
  4. 後続処理: コンポーネントの出力ストリームを後続のコンポーネント(MapperやDBSPutなど)に接続して、取得したデータを処理します。

■制限事項

APIの利用について

本コンポーネントはGoogle Sheets APIを利用してデータを取得します。Google Cloud Platformで設定されているAPIの利用割り当て(Quota)にご注意ください。短時間に大量のリクエストを行うと、APIの実行が制限される場合があります。
詳細はGoogle Cloud Platformのドキュメントを参照してください。

データ取得について

■認証と設定

本コンポーネントを使用するには、Google Cloud Platform (GCP) およびフローサービスが稼働する環境の両方で事前の設定が必要です。

  1. 必要なライブラリの配置

    1. 以下のjarファイルをダウンロードして、[DATA_DIR]/system/lib/userlibフォルダーにコピーしてください。
    2. フローサービスを再起動してください。

  2. Google Cloud Platform (GCP) での準備

    1. APIの有効化:
      • GCP ConsoleのAPIダッシュボードにアクセスし、使用するプロジェクトで以下のAPIが有効になっていることを確認してください。
        • Google Apps Script API
        • Google Drive API
      • Apps Scriptにアクセスし、画面左のメニューから「設定」を開き、「Google Apps Script API」をオンにします。
    2. OAuth 2.0 クライアント ID の作成:
      1. GCP Consoleの「認証情報」ページにアクセスします。
      2. 「+ 認証情報を作成」をクリックし、「OAuth クライアント ID」を選択します。
      3. アプリケーションの種類として「デスクトップ アプリ」を選択します。
      4. 作成後、表示される「クライアント ID」と「クライアント シークレット」をメモ帳などにコピーします。これらはコネクション設定で使用します。
  3. コネクションの作成

    1. 管理コンソールの「設定 > コネクション > GoogleSheets」で新しいコネクションを作成します。
    2. メモ帳などに保存した「クライアント ID」と「クライアント シークレット」をコネクション設定の「OAuthクライアントID」と「OAuthクライアントシークレット」に入力します。
    3. 設定を保存し、接続テストを実行します。
    4. 初めて接続テストを行う場合は接続テストが失敗するため、次の手順を実行します。
      1. Apps Scriptで「[GoogleSheets Connector]」プロジェクトを開き、画面左のメニューから「プロジェクトの設定」を開きます。
      2. 「Google Cloud Platform(GCP)プロジェクト」に表示される手順に従ってGCPプロジェクト番号を設定します。
    5. 再度コネクションの接続テストを実行し、成功することを確認します。

これらの設定が完了して初めて、フローデザイナー上のコンポーネントが正常に動作します。