メインコンテンツまでスキップ

Google Sheetsデータソースの設定

最終更新 2026/10/05

Google Sheetsデータソースは、オフライン同期でGoogle スプレッドシートのデータを読み取り、プラットフォーム内蔵のデータウェアハウスに書き込むために使用します。このドキュメントでは、Google側での権限付与の準備、データソースの設定、同期プランの作成、タスクフローへのマウントについて説明します。

使用制限と事前準備​

設定を始める前に、以下の制限と前提条件を確認してください:

  • Google Sheetsはデータソースとしてのみ使用でき、データの流向としては使用できません。また、Google スプレッドシートへの書き戻しも行いません。
  • システムは、Google Sheetsの上部に表示される列記号(A、B、Cなど)に col_ プレフィックスを自動で付けて、ソースフィールド名を生成します。たとえば、A列からは col_A、B列からは col_B が生成されます。ソースフィールドのタイプはすべて文字列のため、フィールド照合の際に目標テーブルの要件に合わせてフィールドを変換または調整してください。
  • Google Cloudプロジェクト、サービスアカウント、JSONキーを作成できるGoogleアカウントを用意し、そのアカウントに対象のGoogle スプレッドシートをサービスアカウントと共有する権限があることを確認してください。
  • プラットフォームの実行環境からGoogle Sheets APIとGoogle Drive APIにアクセスできる必要があります。
環境の構成方法適用シナリオ設定要件
環境を区別しない開発環境と本番環境で同じサービスアカウントを共用JSONキーを1つアップロードするだけ
独立環境構成開発環境と本番環境で異なるサービスアカウントを使用キーをそれぞれアップロード。両方のアカウントが同名のGoogle スプレッドシートとシートにアクセスできる必要あり
ヒント

独立環境構成では、設定とプレビューには開発環境の認証情報が、本番タスクには本番環境の認証情報が使用されます。両方の環境で、スプレッドシート名、シート名、共有権限を事前に確認してください。

Google CloudとGoogle Sheetsでの権限付与​

Google Sheetsデータソースは、サービスアカウントを使ってサーバー側で認証します。OAuth同意画面、クライアントID、コールバックURL、ドメイン全体の委任を設定する必要はありません。

  1. Google Cloudプロジェクトを作成または選択します。Google Cloud Consoleにアクセスし、既存のプロジェクトを選択するか、新しいプロジェクトを作成します。
  2. 必要なAPIを有効にします。APIとサービス > ライブラリ で Google Sheets API と Google Drive API をそれぞれ検索して有効にします。前者はセルのデータの読み取りに、後者はスプレッドシートの検出とファイルのメタデータの読み取りに使用します。
  3. サービスアカウントを作成します。IAMと管理 > サービス アカウント に移動し、Google Sheetsの読み取り専用のサービスアカウントを作成します。この接続では、サービスアカウントにプロジェクトのオーナー、編集者、Drive管理者などの広範なロールを付与する必要はありません。
  4. JSONキーを作成します。そのサービスアカウントの キー タブを開き、鍵を追加 > 新しい鍵を作成 > JSON を選択して、キーファイルをダウンロードし、安全に保管します。
  5. 対象のスプレッドシートを共有します。読み取るGoogle スプレッドシートを開き、右上の 共有 をクリックして、JSONファイル内の client_email を入力します。権限として 閲覧者 を選択し、共有を完了します。

サービスアカウントに、対象のGoogle スプレッドシートの閲覧権限を付与します。

Google Sheetsでサービスアカウントを「閲覧者」として追加

読み取るスプレッドシートはすべて、サービスアカウントと直接共有するか、親フォルダーからアクセス権限を継承させる必要があります。APIを有効にしただけでは、スプレッドシートへのアクセス権限は自動的に付与されません。

警告

Service Account JSONには機密性の高い認証情報が含まれます。キーをコードリポジトリ、ログ、グループチャット、チケットに登録しないでください。キーが漏洩した場合は、Google Cloudですぐに無効化または削除し、再生成してください。

キーを作成できない場合は、Google Cloudの管理者に連絡して組織のポリシー iam.disableServiceAccountKeyCreation を確認してください。iam.gserviceaccount.com のアドレスとスプレッドシートを共有できない場合は、Google Workspaceの管理者に連絡してDriveの外部共有ポリシーを確認してください。

Google Sheetsデータソースの作成​

  1. データ開発プラットフォーム > バッチ統合 > データソース に移動し、新規データソース をクリックします。
  2. GoogleSheets を選択し、データソース名と備考を入力します。
  3. 環境を区別しない または 独立環境構成 を選択します。独立環境構成では、開発環境と本番環境の設定をそれぞれ完了する必要があります。
  4. Service Account JSON に、Google Cloudからダウンロードした元の .json ファイルをアップロードします。
  5. 接続性テスト をクリックします。接続可能 と表示されたら、完了 をクリックします。

Service Account JSONをアップロードし、接続性テストの結果が「接続可能」であることを確認します。

サービスアカウントのJSONをアップロードして接続性テストを実行
構成項目説明
Service Account JSONGoogle Cloudからダウンロードした元のJSONキーファイルをアップロードします。プラットフォームが自動で検証します。
環境を区別しない開発環境と本番環境で現在のキーを共用
独立環境構成開発環境と本番環境のキーをそれぞれ管理。両方の環境で個別に接続性テストに合格する必要あり

保存済みのデータソースを編集する場合、画面にはマスクされたサービスアカウントのメールアドレスのみが表示され、秘密鍵は表示されません。キーを変更する場合は、新しいJSONファイルをアップロードし直して、再度接続をテストしてください。

オフライン同期プランの作成​

  1. データ開発プラットフォーム > バッチ統合 > オフライン同期 に移動し、統合プランの作成 をクリックします。
  2. データソース で GoogleSheets と作成済みのデータソースを選択します。
  3. 読み取る Google スプレッドシート と、その中の シート を順に選択します。リストには、現在のサービスアカウントがアクセス権限を持つものだけが表示されます。
  4. 列範囲 を入力します。範囲には列の文字のみを含めます(例:A:F、F:F、AA:ZZZ)。システムが自動で大文字に変換します。
  5. ファイル読み取りルール を展開し、スプレッドシートの内容に応じて ヘッダーを飛ばす を設定します。オンにすると2行目から、オフにすると1行目から読み取ります。
  6. ソースデータのプレビューをクリックし、選択した範囲、行数、データの内容が想定どおりであることを確認します。

スプレッドシート、シート、列範囲を選択したら、ソースデータのプレビューで読み取り結果を確認します。

読み取り範囲を設定してソースデータをプレビュー
ヒント

列範囲には行番号やシート名を含めません。A1:F、A:F50000、工作表1!A:F、および開始列が終了列より後にある F:A はいずれも無効な形式です。

独立環境構成では、本番実行時に本番環境のサービスアカウントを使って同名のGoogle スプレッドシートとシートを検索します。名前が重複している、存在しない、または権限が付与されていない場合、本番タスクが失敗することがあります。

フィールド照合と同期の検証​

データソースの設定が完了したら、プラットフォーム内蔵のデータウェアハウスで目標テーブルを選択し、フィールド照合を作成します。Google Sheetsのフィールドは列の文字に基づいて生成されます。たとえばA列は col_A、B列は col_B に対応し、タイプはすべて文字列です。

  1. データの流向 で目標テーブルを選択または作成し、業務上の必要に応じて書き込み方法を設定します。
  2. フィールド照合 でソースフィールドを目標フィールドに照合します。目標フィールドのタイプが一致しない場合は、先に必要なタイプ変換を行います。
  3. プラン名、責任者、備考を入力して保存します。
  4. 手動実行 をクリックし、実行記録でタスクが成功したことを確認してから、目標テーブルで行数、フィールドの順序、データの内容を確認します。
現象確認事項
接続性テストに失敗するアップロードしたのが完全なサービスアカウントJSONであること、キーが無効化・削除されていないこと、Google Sheets APIとGoogle Drive APIが有効になっていることを確認
対象のGoogle スプレッドシートが見つからないスプレッドシートがJSON内の client_email と共有されており、権限が「閲覧者」以上であることを確認
シートが見つからないシートが削除されていないことを確認。独立環境では、本番アカウントが同名のスプレッドシートとシートにアクセスできるかを確認
列範囲のエラー列の文字のみを入力し、開始列が終了列より後になっていないことを確認。範囲がシートの読み取り可能な範囲を超えていないことを確認
429またはリクエスト制限のメッセージしばらくしてから再試行し、Google APIの割り当てとタスクの同時実行数を確認

タスクフローへのマウント​

手動での検証に成功したら、オフライン同期プランをタスクフローにマウントして、スケジュール周期に従って自動実行できます。

  1. 保存済みのオフライン同期プランを開き、ジョブフローにマウントする をクリックします。
  2. 対象のタスクフローを選択します。
  3. ノード名を入力し、実行モードを選択して、必要に応じて責任者と備考を設定します。ノードタイプと統合プランは自動的に入力されます。
  4. ノードを作成し、マウントします をクリックします。マウントに成功したら、タスクフローに進む をクリックして、ノードの位置と上流・下流の依存関係を確認できます。
  5. タスクフローを保存してリリースします。本番のスケジュールでは、本番環境のデータソース設定が使用されます。

同期プランやデータソースを変更する場合は、まず既存のタスクフローの依存関係を評価し、変更後にもう一度検証を実行してください。

このページは役に立ちましたか?