Connectors API のコードサンプル

API の機能については、Connectors API をご覧ください。

このページのリクエストでは、次の変数を使用します。

  • $TOKEN - OAuth 2.0 トークン
  • $CUSTOMER - 顧客の ID またはリテラル my_customer
  • $PAGE_TOKEN - 前のページのレスポンスから取得したページトークン
  • $CONNECTOR_CONFIG_ID - コネクタ構成の ID。生成された ID は大文字の UUID 形式です(例: 550E8400-E29B-41D4-A716-446655440000)。

コネクタ構成を一覧表示する

顧客ドメインのコネクタ構成を一覧表示するには、list メソッドを使用します。結果をページ分割するときに、必要に応じて page_size(または pageSize)と page_token(または pageToken)のクエリ パラメータを指定できます。

  • page_size / pageSize: 返されるコネクタ構成の最大数。指定しない場合のデフォルトのページサイズは 50 で、最大値は 100 です。
  • page_token / pageToken: 前回の list 呼び出しから受け取ったページトークン。

リクエスト

curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs?page_size=50&page_token=$PAGE_TOKEN"

レスポンス

{
  "connectorConfigs": [
    {
      "name": "customers/my_customer/connectorConfigs/550E8400-E29B-41D4-A716-446655440000",
      "displayName": "Configuration 1",
      "type": "REPORTING",
      "details": {
        "googleSecOpsConfig": {
          "host": "example.googlesecops.com",
          "reportingSettings": {
            "enabledDefaultEvents": [
              "ALL_DEFAULT_EVENTS"
            ],
            "enabledOptInEvents": [
              "PASSWORD_BREACH_EVENT",
              "URL_NAVIGATION_EVENT"
            ],
            "enabledDeviceEvents": [
              "ALL_DEVICE_EVENTS"
            ]
          }
        }
      },
      "status": {
        "state": "ENABLED"
      }
    }
  ],
  "nextPageToken": "<next_page_token>"
}

コネクタ構成を取得する

ID で特定のコネクタ構成を取得するには、get メソッドを使用します。

リクエスト

curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs/$CONNECTOR_CONFIG_ID"

レスポンス

{
  "name": "customers/my_customer/connectorConfigs/550E8400-E29B-41D4-A716-446655440000",
  "displayName": "Configuration 1",
  "type": "REPORTING",
  "details": {
    "googleSecOpsConfig": {
      "host": "example.googlesecops.com",
      "reportingSettings": {
        "enabledDefaultEvents": [
          "ALL_DEFAULT_EVENTS"
        ],
        "enabledOptInEvents": [
          "PASSWORD_BREACH_EVENT",
          "URL_NAVIGATION_EVENT"
        ],
        "enabledDeviceEvents": [
          "ALL_DEVICE_EVENTS"
        ]
      }
    }
  },
  "status": {
    "state": "ENABLED"
  }
}

コネクタ構成を作成する

顧客ドメインの新しいコネクタ構成を作成するには、create メソッドを使用します。必要に応じて、connector_config_id(または connectorConfigId)クエリ パラメータを設定してカスタム ID を指定できます。ID を指定しない場合、サーバーによって大文字の UUID が生成されます。

リクエスト

curl -X POST \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "Configuration 1",
    "type": "REPORTING",
    "details": {
      "googleSecOpsConfig": {
        "apiKey": "api-key",
        "host": "example.googlesecops.com",
        "reportingSettings": {
          "enabledDefaultEvents": [
            "ALL_DEFAULT_EVENTS"
          ],
          "enabledOptInEvents": [
            "PASSWORD_BREACH_EVENT"
          ],
          "enabledDeviceEvents": [
            "ALL_DEVICE_EVENTS"
          ]
        }
      }
    }
  }' \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs?connector_config_id=$CONNECTOR_CONFIG_ID"

レスポンス

{
  "name": "customers/my_customer/connectorConfigs/550E8400-E29B-41D4-A716-446655440000",
  "displayName": "Configuration 1",
  "type": "REPORTING",
  "details": {
    "googleSecOpsConfig": {
      "host": "example.googlesecops.com",
      "reportingSettings": {
        "enabledDefaultEvents": [
          "ALL_DEFAULT_EVENTS"
        ],
        "enabledOptInEvents": [
          "PASSWORD_BREACH_EVENT"
        ],
        "enabledDeviceEvents": [
          "ALL_DEVICE_EVENTS"
        ]
      }
    }
  },
  "status": {
    "state": "ENABLED"
  }
}

コネクタ構成を更新する

コネクタ構成は、次のいずれかの方法で更新できます。

  • 更新マスクなし: updateMask クエリ パラメータが指定されていない場合、リクエストで設定されたすべてのフィールドが更新されます。
  • 更新マスクあり: updateMask クエリ パラメータが指定されている場合、マスクにリストされているフィールドのみが更新されます。
  • * に対応する更新マスクを使用: updateMask* に設定されている場合、更新は完全な置換(作成と同等)として扱われます。

例 1: displayName のみを対象とする更新マスク

このオプションでは、updateMask=displayName を指定すると、本文に追加のフィールドが指定されていても、displayName のみが更新されます。

リクエスト

curl -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "Updated name"
  }' \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs/$CONNECTOR_CONFIG_ID?updateMask=displayName"

レスポンス

{
  "name": "customers/my_customer/connectorConfigs/550E8400-E29B-41D4-A716-446655440000",
  "displayName": "Updated name",
  "type": "REPORTING",
  "details": {
    "googleSecOpsConfig": {
      "host": "example.googlesecops.com",
      "reportingSettings": {
        "enabledDefaultEvents": [
          "BROWSER_EXTENSION_INSTALL_EVENT"
        ],
        "enabledOptInEvents": [
          "PASSWORD_BREACH_EVENT"
        ],
        "enabledDeviceEvents": [
          "LOGIN_LOGOUT_EVENT"
        ]
      }
    }
  },
  "status": {
    "state": "ENABLED"
  }
}

例 2: 更新マスクなし(リクエスト内のすべてのフィールドを更新)

リクエストのクエリ文字列で updateMask が省略されている場合、JSON ペイロードで指定されたすべてのフィールドが更新されます。

リクエスト

curl -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "Updated again",
    "details": {
      "googleSecOpsConfig": {
        "reportingSettings": {
          "enabledDefaultEvents": [
            "BROWSER_EXTENSION_INSTALL_EVENT",
            "CONTENT_TRANSFER_EVENT",
            "CONTENT_UNSCANNED_EVENT",
            "DATA_ACCESS_CONTROL_EVENT",
            "MALWARE_TRANSFER_EVENT"
          ]
        }
      }
    }
  }' \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs/$CONNECTOR_CONFIG_ID"

レスポンス

{
  "name": "customers/my_customer/connectorConfigs/550E8400-E29B-41D4-A716-446655440000",
  "displayName": "Updated again",
  "type": "REPORTING",
  "details": {
    "googleSecOpsConfig": {
      "host": "example.googlesecops.com",
      "reportingSettings": {
        "enabledDefaultEvents": [
          "BROWSER_EXTENSION_INSTALL_EVENT",
          "CONTENT_TRANSFER_EVENT",
          "CONTENT_UNSCANNED_EVENT",
          "DATA_ACCESS_CONTROL_EVENT",
          "MALWARE_TRANSFER_EVENT"
        ],
        "enabledOptInEvents": [
          "PASSWORD_BREACH_EVENT"
        ],
        "enabledDeviceEvents": [
          "ALL_DEVICE_EVENTS"
        ]
      }
    }
  },
  "status": {
    "state": "ENABLED"
  }
}

例 3: * の更新マスク(完全置換)

updateMask=* を設定すると、既存の構成がリクエスト本文で指定されたペイロードに完全に置き換えられます。

リクエスト

curl -X PATCH \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "New Updated Display Name",
    "type": "REPORTING",
    "details": {
      "googleSecOpsConfig": {
        "apiKey": "api-key",
        "host": "example.googlesecops.com",
        "reportingSettings": {
          "enabledOptInEvents": [
            "PASSWORD_BREACH_EVENT"
          ]
        }
      }
    }
  }' \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs/$CONNECTOR_CONFIG_ID?updateMask=*"

レスポンス

{
  "name": "customers/my_customer/connectorConfigs/550E8400-E29B-41D4-A716-446655440000",
  "displayName": "New Updated Display Name",
  "type": "REPORTING",
  "details": {
    "googleSecOpsConfig": {
      "host": "example.googlesecops.com",
      "reportingSettings": {
        "enabledOptInEvents": [
          "PASSWORD_BREACH_EVENT"
        ]
      }
    }
  },
  "status": {
    "state": "ENABLED"
  }
}

コネクタ構成を削除する

コネクタ構成を削除するには、delete メソッドを使用します。

リクエスト

curl -X DELETE \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromemanagement.googleapis.com/v1/customers/$CUSTOMER/connectorConfigs/$CONNECTOR_CONFIG_ID"

レスポンス

{}