Google ドライブ接続を作成して構成する

このページでは、Integration Connectors で Google ドライブ接続を作成して構成する方法について説明します。Google ドライブ コネクタの詳細については、Google ドライブ コネクタの概要をご覧ください。

始める前に

Google Cloudプロジェクトで、次のタスクを行います。

  • ネットワーク接続が設定されていることを確認します。ネットワーク パターンの詳細については、Network Connectivity をご覧ください。
  • コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
  • コネクタに使用するサービス アカウントに、roles/secretmanager.viewerroles/secretmanager.secretAccessor の IAM ロールを付与します。
  • 次のサービスを有効にします。
    • secretmanager.googleapis.com(Secret Manager API)
    • connectors.googleapis.com(Connectors API)

    サービスを有効にする方法については、サービスを有効にするをご覧ください。以前にプロジェクトでこうしたサービスを有効にしていない場合は、コネクタを構成するときに有効にするよう求められます。

Google ドライブ接続を作成する

Google ドライブ接続を作成する手順は次のとおりです。

  1. Google Cloud コンソールで、[Integration Connectors] > [接続] ページに移動します。

    [接続] に移動

  2. [接続を作成] をクリックします。

    [接続を作成] ページが表示されます。

  3. [ロケーション] セクションで次の操作を行います。
    1. [リージョン] をクリックして、接続のロケーションを選択します。

      サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。

    2. [次へ] をクリックします。
  4. [接続の詳細] セクションで、次の詳細を指定します。
    1. Connector: [Google ドライブ] を選択します。
    2. コネクタのバージョン: 使用するコネクタのバージョンを選択します。

      選択するコネクタ バージョンは、使用する Google Drive API のバージョンによって異なります。詳細については、Google ドライブ接続のバージョンをご覧ください。

    3. 接続名: 接続の名前を入力します。
    4. 説明: (省略可)接続の説明を入力します。
    5. 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは Error に設定されています。
    6. サービス アカウント: 接続に使用するサービス アカウントを選択します。サービス アカウントに、必要な適切な IAM ロールと権限が付与されていることを確認します。
    7. すべてのドライブをサポート: 共有ドライブへのアクセスを有効にするには、このチェックボックスをオンにします。このオプションは Google ドライブ v2 でのみ使用できます。
    8. 接続ノードの設定: (省略可)接続ノードの設定を構成します。
      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、 接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    9. [次へ] をクリックします。
  5. [認証] セクションで、接続の認証タイプを選択して構成します。

    サービス アカウント

    アプリケーションが Google Cloud 仮想マシンで実行され、認証に VM の接続されたサービス アカウントを使用する必要がある場合は、このオプションを選択します。

    この認証タイプを使用するには、認証に必要な適切な IAM ロールと権限を持つサービス アカウントが必要です。

    サービス アカウントの作成については、サービス アカウントの作成と管理をご覧ください。サービス アカウントへのロールの付与については、リソースへのアクセス権の付与、変更、取り消しをご覧ください。

    サービス アカウント認証タイプの接続の詳細の例

    フィールド名 詳細
    ロケーション us-central1
    コネクタ Google ドライブ
    コネクタのバージョン 2
    接続名 googledrive-ws-gcpaccount
    Cloud Logging を有効にする
    サービス アカウント 123456789012-compute@developer.gserviceaccount.com
    ノードの最小数 2
    ノードの最大数 50
    認証 サービス アカウント認証

    OAuth 2.0 - JWT Bearer

    Oauth 2.0 JWT Bearer 認証タイプを構成するには、次の操作を行います。

    1. サービス アカウントの JSON キーを作成し、JSON キーファイルをダウンロードします。この鍵ファイルは、接続の JWT 証明書として使用されます。
    2. JSON キーファイルまたは JWT 証明書を保存するシークレットを作成します。
    3. Integration Connectors で接続を作成するときに、シークレットの詳細を指定します。
      • JWT 証明書: JWT 証明書を含むシークレットを選択します。
      • シークレットのバージョン: 選択したシークレットのシークレット バージョンを選択します。
      • JWT Subject: (省略可)接続に使用する JWT サブジェクトを入力します。これは、JWT トークンの sub フィールドとして使用されます。

    OAuth 2.0 - JWT Bearer 認証タイプの接続の詳細の例

    フィールド名 詳細
    ロケーション us-central1
    コネクタ Google ドライブ
    コネクタのバージョン 2
    接続名 googledrivejwt
    Cloud Logging を有効にする
    サービス アカウント 123456789012-compute@developer.gserviceaccount.com
    ノードの最小数 2
    ノードの最大数 50
    認証 OAuth 2.0 - JWT Bearer
    JWT 証明書
    {
      "type": "service_account",
      "project_id": "sm****-****-******",
      "private_key_id": "0b***************************",
      "private_key": "-----BEGIN PRIVATE KEY-----\nO********************************************=\n-----END PRIVATE KEY-----\n",
      "client_email": "go**********************************8",
      "client_id": "10**********************",
      "auth_uri": "https:***********************",
      "token_uri": "https:************************",
      "auth_provider_x509_cert_url": "https:*********************",
      "client_x509_cert_url": "https:****************************************************",
      "universe_domain": "go********"
    }
    シークレットのバージョン 2

    OAuth 2.0 認証コード

    この方法は、アプリケーションでブラウザベースのログインによるエンドユーザーの操作が必要な場合に使用します。

    OAuth 2.0 認証コードの認証タイプを構成するには、次の操作を行います。

    1. ウェブ アプリケーション用の OAuth 2.0 認証情報を作成します。このプロセスでは、クライアント ID とクライアント シークレット JSON ファイルが作成されます。
    2. アプリケーションに付与するアクセス スコープを特定します。
    3. OAuth 2.0 認証情報(client_secret.json)を保存する Secret を作成します。
    4. Integration Connectors で接続を作成するときに、クライアント ID、スコープ、シークレットの詳細を指定します。
      • クライアント ID: ウェブ アプリケーション用に作成したクライアント ID を入力します。
      • スコープ: 必要なスコープをカンマ区切りのリストで入力します。
      • クライアント シークレット: OAuth 2.0 認証情報を含むシークレットを選択します。
      • シークレットのバージョン: 選択したシークレットのシークレット バージョンを選択します。

    Oauth 2.0 認証コード認証タイプの接続の詳細の例

    フィールド名 詳細
    ロケーション europe-west1
    コネクタ Google ドライブ
    コネクタのバージョン 2
    接続名 googledrive-wsconn-code
    Cloud Logging を有効にする
    サービス アカウント 123456789012-compute@developer.gserviceaccount.com
    ノードの最小数 2
    ノードの最大数 50
    認証 OAuth 2.0 - 認証コード
    クライアント ID CLIENT_ID
    スコープ https://www.googleapis.com/auth/drive、https://www.googleapis.com/auth/drive.readonly、https://www.googleapis.com/auth/drive.file、https://www.googleapis.com/auth/drive.appdata、https://www.googleapis.com/auth/drive.appfolder、https://www.googleapis.com/auth/drive.install、https://www.googleapis.com/auth/drive.metadata、https://www.googleapis.com/auth/drive.metadata.readonly、https://www.googleapis.com/auth/drive.activity、https://www.googleapis.com/auth/drive.activity.readonly、https://www.googleapis.com/auth/drive.apps.readonly、https://www.googleapis.com/auth/drive.scripts、https://www.googleapis.com/auth/drive.meet.readonly
    クライアント シークレット CLIENT_SECRET
    シークレットのバージョン 2
  6. 認証オーバーライドを有効にする: (省略可)このチェックボックスをオンにすると、実行時に接続で異なる認証を動的に受け入れることができます。
  7. [次へ] をクリックします。
  8. [確認] セクションで、接続と認証の詳細を確認します。必要に応じて、前のセクションをクリックして変更を加えることができます。
  9. [作成] をクリックします。

    Integration Connectors は、指定された構成の接続の作成を開始します。このプロセスが完了するまでに数分かかります。接続が作成されると、[接続] ページにリダイレクトされます。

統合で Google ドライブ接続を使用する

接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

  • Apigee Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。
  • Application Integration で Connectors タスクを作成して使用する方法については、Connectors タスクをご覧ください。

サポートされているエンティティとオペレーションの一覧については、サポートされているエンティティとオペレーションをご覧ください。サポートされているコネクタ固有のアクションについては、サポートされているアクションをご覧ください。

Application Integration のユースケースの例

次の例は、Application Integration で Connectors タスクを使用して、構成済みの Google ドライブ接続でオペレーションを実行する方法を示しています。

例 - すべてのファイルを一覧表示する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Files を選択します。
  3. [List] オペレーションを選択し、[完了] をクリックします。
  4. [コネクタ] タスクの [タスク入力] セクションで、お客様の要件に応じて filterClause を設定できます。
  5. filterClause の値は、常にこの形式で単一引用符(')で囲んで渡す必要があります。

    filterClause を使用すると、任意の列に基づいて特定のレコードセットをフィルタできます。

例 - ファイルの詳細を取得する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Files を選択します。
  3. [Get] オペレーションを選択し、[完了] をクリックします。
  4. entityId を「1wsHFAusizqFe5O2」に設定します。これは渡されるキーです。entityId を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに "1wsHFAusizqFe5O2" を入力し、entityId をローカル変数として選択します。
  5. entityId の値は直接渡す必要があります(「1wsHFAusizqFe5O2」など)。ここで、「1wsHFAusizqFe5O2」は一意の主キー値であり、渡されます。

例 - ファイルを削除する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Files を選択します。
  3. [Delete] オペレーションを選択し、[完了] をクリックします。
  4. entityId を「1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L」に設定します。これは渡されるキーです。entityId を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに "1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L" を入力し、entityId をローカル変数として選択します。
  5. エンティティに 2 つの複合ビジネスキーまたは主キーがある場合は、entityId を指定する代わりに、filterClause を id='1nLrFkDM8nOehXwW8XEpc2UZDBrq_ku-L' に設定することもできます。

例 - ファイルを作成する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Files を選択します。
  3. [Create] オペレーションを選択し、[完了] をクリックします。
  4. [データ マッピング] タスクの [データ マッパー] セクションで、Open Data Mapping Editor をクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload をローカル変数として選択します。
  5.   { "FileData": " ",
      "Name": "creategcpshareddrivedocxfile.docx", 
      "MIMEType": "application/vnd.google-apps.document",
      "Encoding": "BASE64"}
    

    統合が成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

    { "Id": "1C48uLda6lyeakx2hOUdwnib-qtFOAhlpR_Ja2AmPvTU"}
    

例 - 共有ドライブを作成する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Drives を選択します。
  3. [Create] オペレーションを選択し、[完了] をクリックします。
  4. [データ マッピング] タスクの [データ マッパー] セクションで、Open Data Mapping Editor をクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload をローカル変数として選択します。
  5.   {"Name": "SharedDrive7"}
    

    統合が成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

      {"Id": "0AN6y5wEvVrmPUk9PVA"}
    

例 - ファイル、フォルダ、共有ドライブの権限を作成する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Permissions を選択します。
  3. [Create] オペレーションを選択し、[完了] をクリックします。
  4. [データ マッピング] タスクの [データ マッパー] セクションで、Open Data Mapping Editor をクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload をローカル変数として選択します。
  5.   {"ResourceId": "1PErCmc9MmnYzcslo49DeIIN1-ACs3W4L",
      "Role": "COMMENTER",
      "Type": "USER",
      "EmailAddress": "charlie@altostrat.com"}
    

    統合が成功すると、コネクタタスクの connectorOutputPayload レスポンス パラメータの値は次のようになります。

      { "PermissionId": "10596783046483894074",
      "ResourceId": "1PErCmc9MmnYzcslo49DeIIN1-ACs3W4L"}
    

例 - ファイルの詳細を更新する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Files を選択します。
  3. [Update] オペレーションを選択し、[完了] をクリックします。
  4. [データ マッピング] タスクの [データ マッパー] セクションで、Open Data Mapping Editor をクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。
      {"Name": "New Updated file"}
    
  5. ファイルの entityId を設定します。エンティティ ID を設定するには、Open Data Mapping Editor をクリックし、Input Value フィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。

    [entityId] を指定する代わりに、[filterClause] を 1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm に設定することもできます。

  6. この例を実行すると、コネクタ タスクの connectorOutputPayload 出力変数で次のようなレスポンスが返されます。

    {"Id": "1IY5YhQN-LRgR3IxKlheqXM83sJP3DMFm">}

例 - ファイル、フォルダ、共有ドライブの権限を更新する

  1. [Configure connector task] ダイアログで、[Entities] をクリックします。
  2. Entity から Permissions を選択します。
  3. [Update] オペレーションを選択し、[完了] をクリックします。
  4. [データ マッピング] タスクの [データ マッパー] セクションで、Open Data Mapping Editor をクリックし、[Input Value] フィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。
  5. (PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA')
    { "Role": "READER"}
    
  6. 権限の entityId を設定します。エンティティ ID を設定するには、Open Data Mapping Editor をクリックし、Input Value フィールドに次のような値を入力し、entityId/connectorInputPayload/filterClause をローカル変数として選択します。

    [entityId] を指定する代わりに、[filterClause] を PermissionId='10596783046483894074' and ResourceId='0AKfRSSy6kZbfUk9PVA' に設定することもできます。

    この例を実行すると、コネクタ タスクの connectorOutputPayload 出力変数で次のようなレスポンスが返されます。

      {"PermissionId": "10596783046483894074",
      "ResourceId": "0AKfRSSy6kZbfUk9PVA"}