דוגמאות קוד ל-Connectors API

מידע על התכונות של API זמין במאמר בנושא Connectors API.

כל הבקשות בדף הזה משתמשות במשתנים הבאים:

  • $TOKEN – טוקן OAuth 2.0
  • $CUSTOMER - ID of the customer or literal my_customer
  • $PAGE_TOKEN – טוקן של דף שהתקבל מתשובות קודמות של דפים
  • $CONNECTOR_CONFIG_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>"
}

אחזור הגדרות של מחבר

כדי לאחזר הגדרת מחבר ספציפית לפי מזהה, משתמשים בשיטה 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). אם לא מסופק מזהה, השרת ייצור מזהה 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 במחרוזת השאילתה של הבקשה, כל השדות שמופיעים במטען הייעודי (payload) של 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=* מחליפה לחלוטין את ההגדרה הקיימת במטען הייעודי (payload) שסופק בגוף הבקשה.

בקשה

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"

תשובה

{}