Codebeispiele

Die folgenden Anfragen veranschaulichen die Richtlinienverwaltung mit der Policy API. Bevor Sie finden Sie in der Übersicht zur Chrome Policy API finden Sie eine allgemeine Zusammenfassung der Funktionen dieser API.

Für alle unten aufgeführten Anfragen werden die folgenden Variablen verwendet:

  • $TOKEN – OAuth 2-Token
  • $CUSTOMER – ID des Kunden oder Literal-my_customer

Schemas für Druckerrichtlinien auflisten

Zum Auflisten von Schemas, die nur Richtlinien für Drucker betreffen, wenden wir filter an -Parameter für die Schemadienst-Listenanfrage. Sie können die Paginierung der Ergebnis mit den Parametern pageSize und pageToken.

Anfrage

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.printers&pageSize=2"

Antwort

{
  "policySchemas": [
    {
      "name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForUsers",
      "policyDescription": "Allows a printer for users in a given organization.",
      "additionalTargetKeyNames": [
        {
          "key": "printer_id",
          "keyDescription": "Id of printer as visible in Admin SDK printers API."
        }
      ],
      "definition": {
        "messageType": [
          {
            "name": "AllowForUsers",
            "field": [
              {
                "name": "allowForUsers",
                "number": 1,
                "label": "LABEL_OPTIONAL",
                "type": "TYPE_BOOL"
              }
            ]
          }
        ]
      },
      "fieldDescriptions": [
        {
          "field": "allowForUsers",
          "description": "Controls whether a printer is allowed for users in a given organization."
        }
      ],
      "schemaName": "chrome.printers.AllowForUsers"
    },
    {
      "name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForDevices",
      "policyDescription": "Allows a printer for devices in a given organization.",
      "additionalTargetKeyNames": [
        {
          "key": "printer_id",
          "keyDescription": "Id of printer as visible in Admin SDK printers API."
        }
      ],
      "definition": {
        "messageType": [
          {
            "name": "AllowForDevices",
            "field": [
              {
                "name": "allowForDevices",
                "number": 1,
                "label": "LABEL_OPTIONAL",
                "type": "TYPE_BOOL"
              }
            ]
          }
        ]
      },
      "fieldDescriptions": [
        {
          "field": "allowForDevices",
          "description": "Controls whether a printer is allowed for devices in a given organization."
        }
      ],
      "schemaName": "chrome.printers.AllowForDevices"
    }
  ],
  "nextPageToken": "AEbDN_obE8A98T8YhIeU9VCIZhEBylLBwZRQpGu_DUug-mU4bnzcDx30UnO2xMuuImvfVpmeuXRF6VhJ4OmZpZ4H6EaRvu2qMOPxVN_u"
}

Nach Schemas suchen

Sie können komplexe Suchanfragen mithilfe des filter=-Parameters im Schema erstellen. Dienstlistenanfrage. Wenn Sie z. B. nach Schemas suchen möchten, das Wort „Drucker“ im Namen und dem Wort „Geräte“ in der Beschreibung können Sie den folgenden Wert in den Filter name=printers AND description=devices ein.

Weitere Informationen zum Auflisten von Richtlinienschemas

Anfrage

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=name=printers%20AND%20description=devices"

Antwort

{
  "policySchemas": [
    {
      "name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForDevices",
      "policyDescription": "Allows a printer for devices in a given organization.",
      "additionalTargetKeyNames": [
        {
          "key": "printer_id",
          "keyDescription": "Id of printer as visible in Admin SDK printers API."
        }
      ],
      "definition": {
        "messageType": [
          {
            "name": "AllowForDevices",
            "field": [
              {
                "name": "allowForDevices",
                "number": 1,
                "label": "LABEL_OPTIONAL",
                "type": "TYPE_BOOL"
              }
            ]
          }
        ]
      },
      "fieldDescriptions": [
        {
          "field": "allowForDevices",
          "description": "Controls whether a printer is allowed for devices in a given organization."
        }
      ],
      "schemaName": "chrome.printers.AllowForDevices"
    }
  ]
}

Bestimmtes Schema abrufen

Das obige Ergebnis enthält eine Liste der unterstützten Richtlinienschemas. Jedes Schema hat Ein name-Feld, das das Schema identifiziert. Wenn Sie in Zukunft wissen, Schemaname enthält, können Sie das jeweilige Schema direkt lesen, indem Sie auf den Schemaname in der Anfrage-URL.

Sehen wir uns ein Beispiel für ein chrome.printers.AllowForUsers-Schema an.

Anfrage

  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas/chrome.printers.AllowForUsers"

Antwort

{
  "name": "customers/C0202nabg/policySchemas/chrome.printers.AllowForUsers",
  "policyDescription": "Allows a printer for users in a given organization.",
  "additionalTargetKeyNames": [
    {
      "key": "printer_id",
      "keyDescription": "Id of printer as visible in Admin SDK printers API."
    }
  ],
  "definition": {
    "messageType": [
      {
        "name": "AllowForUsers",
        "field": [
          {
            "name": "allowForUsers",
            "number": 1,
            "label": "LABEL_OPTIONAL",
            "type": "TYPE_BOOL"
          }
        ]
      }
    ]
  },
  "fieldDescriptions": [
    {
      "field": "allowForUsers",
      "description": "Controls whether a printer is allowed for users in a given organization."
    }
  ],
  "schemaName": "chrome.printers.AllowForUsers"
}

Die obige Antwort des Richtlinienschemas beschreibt das Schema von chrome.printers.AllowForUsers-Richtlinie. Hinweisfeld additionalTargetKeyNames. In diesem Feld wird erläutert, dass gemäß der Richtlinie zusätzliche Schlüssel/Wert-Paare angegeben werden müssen. im Umgang mit dieser Richtlinie. Insbesondere müssen wir bei dieser Richtlinie immer die ID eines Druckers angeben.

Richtlinienwert lesen

Sehen wir uns eine Richtlinie chrome.printers.AllowForUsers für einen bestimmten Drucker an. Beachten Sie, dass in der Anfrage das Feld additionalTargetKeys zur Angabe der Drucker-ID verwendet wird.

Sie können eine Richtlinie aus einer Organisationseinheit oder aus einer Gruppe lesen.

Beachten Sie in der Antwort das Feld sourceKey, das angibt, Organisationseinheit oder Gruppe, von der der Wert der Richtlinie stammt. Für Organisationseinheiten können Sie folgende Möglichkeiten nutzen:

  • Wenn die Quellorganisationseinheit mit der in einem wird die Richtlinie lokal in dieser Organisationseinheit angewendet.
  • Die Quellorganisationseinheit unterscheidet sich von der in eine Anfrage ist, bedeutet dies, dass die Richtlinie von der Quellorganisation Einheit.
  • Wenn kein sourceKey vorhanden oder die Antwort leer ist, bedeutet dies, dass die Richtlinie nicht für den Kunden festgelegt und hat einen Standardsystemwert.

Bei Google Groups ist der „sourceKey“ immer mit der „Group“ (Gruppe) identisch, die in der Anfrage angegeben sind.

Das folgende Beispiel bezieht sich auf eine Organisationseinheit. Eine Gruppenanfrage wäre mit Ausnahme der targetResource, die „groups/“ enthalten würde anstelle von „orgunits/“ vor der ID ein.

Anfrage

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
          targetResource: "orgunits/04fatzly4jbjho9",
          additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
        },
        policySchemaFilter: "chrome.printers.AllowForDevices"
    }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies:resolve"

Antwort

{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/03ph8a2z1xdnme9"
        "additionalTargetKeys": {"printer_id":"0gjdgxs208tpef"}
      },
      "value": {
        "policySchema": "chrome.users.AllowForDevices",
        "value": {
          "allowForDevices": true
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/03ph8a2z3qhz81k"
      }
    }
  ]
}

Beachten Sie, dass alle Entitäten in den Zielressourcen abgerufen werden können, indem Sie additionalTargetKeys aus der Anfrage. Beispiel: additionalTargetKeys in der Anfrage oben weggelassen wurden, werden alle Drucker zurückgegeben, Zielressource angegeben werden.

Mehrere Richtlinien lesen

Wenn Sie einen Schema-Namespace mit einem Sternchen angeben (z.B. chrome.printers.*) ermöglicht können Sie Werte für alle Richtlinien unter diesem Namespace in einem bestimmten Organisationseinheit oder Gruppe. Weitere Informationen über Richtlinienschemas

Das folgende Beispiel bezieht sich auf eine Organisationseinheit. Eine Gruppenanfrage wäre mit Ausnahme der targetResource, die „groups/“ enthalten würde anstelle von „orgunits/“ vor der ID ein.

Anfrage

  curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
          targetResource: "orgunits/04fatzly4jbjho9",
        },
        policySchemaFilter: "chrome.printers.*"
    }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies:resolve"

Antwort

{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "printer_id": "0gjdgxs0xd59y1"
        }
      },
      "value": {
        "policySchema": "chrome.printers.AllowForUsers",
        "value": {
          "allowForUsers": false
        }
      }
    },
    {
      "targetKey": {
        "targetResource": "orgunits/04fatzly4jbjho9",
        "additionalTargetKeys": {
          "printer_id": "0gjdgxs0xd59y1"
        }
      },
      "value": {
        "policySchema": "chrome.printers.AllowForDevices",
        "value": {
          "allowForDevices": false
        }
      }
    },
    //...
  ],
  "nextPageToken": "AEbDN_pFvDeGSbQDkvMxr4UA0Ew7UEUw8aJyw95VPs2en6YxMmFcWQ9OQQEIeSkjnWFCQNyz5GGoOKQGEd50e2z6WqvM2w7sQz6TMxVOBD_4NmEHRWtIJCYymeYXWHIrNH29Ezl1wkeyYBAOKnE="
}

Richtlinienwert ändern

Wie in der Antwort des Richtlinienschemas zu sehen, ist die Richtlinie chrome.printers.AllowForUsers enthält ein Feld namens allowForUsers. Dieses Feld hat einen booleschen Typ. Beispiel Wert der Richtlinie kann entweder {allowForUsers: false} oder {allowForUsers: true}. In diesem Fall haben wir nur ein Feld, Andere Richtlinien können jedoch mehrere Felder enthalten.

Bei Änderungsanfragen müssen wir eine updateMask angeben. „Maske aktualisieren“ listet alle die Felder, die wir ändern möchten. Wenn die Richtlinie bereits lokal angewendet wurde in der Organisationseinheit gehören, werden die Felder, die nicht über die Aktualisierungsmaske aufgeführt sind, unberührt bleiben. Wenn die Richtlinie nicht bereits lokal angewendet wurde in der Die Organisationseinheit und alle Felder, die nicht über die Aktualisierungsmaske aufgelistet sind, kopieren Sie gegebenenfalls ihre Werte aus der übergeordneten Organisationseinheit und wird die gesamte Richtlinie lokal angewendet.

Die folgenden Beispiele beziehen sich auf eine Organisationseinheit. Gruppenanfragen sind die mit Ausnahme der targetResource, die „groups/“ enthalten würde anstelle von „orgunits/“ vor der ID ein. Hier erlauben wir den Drucker 0gjdgxs208tpef für Nutzer in Organisationseinheits-ID 04fatzly4jbjho9:

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
                        },
                policyValue: {
                        policySchema: "chrome.printers.AllowForUsers",
                        value: {allowForUsers: false}
                        },
                updateMask: {paths: "allowForUsers"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Mehrwertige Felder wie Listen oder Arrays sind mit „LABEL_REPEATED“ gekennzeichnet. . Verwenden Sie das folgende JSON-Arrayformat, um Felder mit mehreren Werten auszufüllen: [value1, value2, value3, ...]

Wenn Sie beispielsweise Quell-URLs für App- und Erweiterungspakete so festlegen möchten: „test1.com“, „test2.com“ und "test3.com" muss die folgende Anfrage gesendet werden:

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d "{
        requests: [
          {
            policy_target_key: {
              target_resource: 'orgunits/03ph8a2z28rz85a'
            },
            updateMask: {
              paths: ['extensionInstallSources']
            },
            policy_value: {
              policy_schema: 'chrome.users.appsconfig.AppExtensionInstallSources', 
              value: {
                extensionInstallSources: ['test1.com', 'test2.com', 'test3.com']
              }
            }
          }
        ]
      }" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Für alle Richtlinien, die NullableDuration-Felder enthalten, gibt es zwei Versionen. Die Originalversion akzeptiert nur Strings als Eingabe für NullableDuration und ist jetzt eingestellt. Verwenden Sie die Version 2. Diese ersetzt den Dauertyp durch einen numerische Eingabe. Sie können beispielsweise die maximale Länge der Nutzersitzung auf 10 Minuten festlegen. müssen wir die folgende Anfrage senden:

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d "{
        requests: [
          {
            policy_target_key: {
              target_resource: 'orgunits/03ph8a2z28rz85a'
            },
            updateMask: {
              paths: ['sessionDurationLimit']
            },
            policy_value: {
              policy_schema: 'chrome.users.SessionLengthV2',
              value: {
                sessionDurationLimit: {
                  duration: 10
                }
              }
            }
          }
        ]
      }" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Mehrere Richtlinien gleichzeitig ändern

Die batchModify können Sie mehrere Richtlinienänderungen gleichzeitig senden. Allerdings können nicht alle Richtlinien in einem Batch zusammengefasst werden. Weitere Informationen Siehe Richtlinien für Batch-Updates.

In diesem Beispiel ändern wir in derselben Anfrage zwei verschiedene Richtlinien (chrome.printers.AllowForDevices und chrome.printers.AllowForUsers) für denselben Drucker.

Das folgende Beispiel bezieht sich auf eine Organisationseinheit. Eine Gruppenanfrage wäre mit Ausnahme der targetResource, die „groups/“ enthalten würde anstelle von „orgunits/“ vor der ID ein.

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
                        },
                policyValue: {
                        policySchema: "chrome.printers.AllowForDevices",
                        value: {allowForDevices: true}
                        },
                updateMask: {paths: "allowForDevices"}
                },
                {
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
                        },
                policyValue: {
                        policySchema: "chrome.printers.AllowForUsers",
                        value: {allowForUsers: true}
                        },
                updateMask: {paths: "allowForUsers"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/C0202nabg/policies/orgunits:batchModify"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Richtlinienwert in einer Organisationseinheit übernehmen

Die batchInherit können Sie den Status der Richtlinie in einer Organisationseinheit „lokal angewendet“ in „übernommen“. Lokale Werte werden gelöscht und die Richtlinie übernimmt gegebenenfalls Werte von einer übergeordneten Organisationseinheit.

Mit der Methode batchInherit können Sie auch mehrere Richtlinienübernahmen senden gleichzeitig bearbeitet werden. Allerdings können nicht alle Richtlinien in einem Batch zusammengefasst werden. Weitere Informationen Siehe Richtlinien für Batch-Updates.

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly12wd3ox",
                        additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
                        },
                policySchema: "chrome.printers.AllowForUsers"
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchInherit"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Richtlinienwert in einer Gruppe löschen

Die batchDelete können Sie eine Richtlinie aus einer Gruppe löschen. Lokale Werte werden gelöscht.

Mit der Methode batchDelete können Sie auch mehrere Richtlinienlöschungen senden gleichzeitig bearbeitet werden. Allerdings können nicht alle Richtlinien in einem Batch zusammengefasst werden. Weitere Informationen finden Sie unter Richtlinien für Batch-Updates:

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "groups/04fatzly12wd3ox",
                        additionalTargetKeys: {"printer_id":"0gjdgxs208tpef"}
                        },
                policySchema: "chrome.printers.AllowForUsers"
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/groups:batchDelete"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Prioritätsreihenfolge für eine Gruppe auflisten

Die listGroupPriorityOrdering können Sie die Prioritätsreihenfolge der Gruppen für eine App auflisten.

Die Reihenfolge der zurückgegebenen Gruppen-IDs gibt die Priorität an, werden ihre Einstellungen für die App angewendet. spätere IDs Richtlinien durch Richtlinien überschrieben, deren IDs weiter oben in der Liste stehen.

Beachten Sie, dass Gruppenprioritäten höher sind als die Prioritäten der Organisationseinheit.

In dieser Anfrage wird die Reihenfolge der Priorität für die Beispielapp zurückgegeben. Chrome-Nutzer-App.

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
                additionalTargetKeys: {"app_id":"chrome:exampleapp"}
                },
        policyNamespace: 'chrome.users.apps'
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/groups:listGroupPriorityOrdering"

Antwort

{
  "policyTargetKey": {
    "additionalTargetKeys": {
      "app_id": "chrome:exampleapp"
    }
  },
  "policyNamespace": "chrome.users.apps",
  "groupIds": [
    "03ep43zb2k1nodu",
    "01t3h5sf2k52kol",
    "03q5sasy2ihwnlz"
  ]
}

Prioritätsreihenfolge für eine Gruppe aktualisieren

Die updateGroupPriorityOrdering können Sie die Prioritätsreihenfolge der Gruppen für eine App aktualisieren.

Die Reihenfolge der Gruppen-IDs in der Anfrage gibt die Priorität an, werden ihre Einstellungen für die App angewendet. spätere IDs Richtlinien durch Richtlinien überschrieben, deren IDs weiter oben in der Liste stehen. Die Anfrage muss Alle Gruppen-IDs, die derzeit in der App verwendet werden.

Beachten Sie, dass Gruppenprioritäten höher sind als die Prioritäten der Organisationseinheit.

In dieser Anfrage legen wir die Prioritätsreihenfolge für die Beispielapp fest. Chrome-Nutzer-App.

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        policyTargetKey: {
                additionalTargetKeys: {"app_id":"chrome:exampleapp"}
                },
        policyNamespace: 'chrome.users.apps',
        groupIds: ['03ep43zb2k1nodu', '01t3h5sf2k52kol', '03q5sasy2ihwnlz']
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/groups:updateGroupPriorityOrdering"

Antwort

Eine erfolgreiche Antwort ist leer.

{}

Richtlinien verarbeiten, die eine Bestätigung erfordern

Einige Richtlinienschemas enthalten „Hinweise“ für bestimmte Werte eines bestimmten Feldes die eine Bestätigung erfordern.

Beispiel für Richtlinie chrome.users.PluginVmAllowd:

{
  "name": "customers/C0202nabg/policySchemas/chrome.users.PluginVmAllowed",
  "policyDescription": "Parallels Desktop.",
  # ...
  "fieldDescriptions": [
    {
      "field": "pluginVmAllowed",
      "description": "N/A",
      "knownValueDescriptions": [
        {
          "value": "true",
          "description": "Allow users to use Parallels Desktop."
        },
        {
          "value": "false",
          "description": "Do not allow users to use Parallels Desktop."
        }
      ]
    },
    {
      "field": "ackNoticeForPluginVmAllowedSetToTrue",
      "description": "This field must be set to true to acknowledge the notice message associated with the field 'plugin_vm_allowed' set to value 'true'. Please see the notices listed with this policy for more information."
    }
  ],
  "notices": [
    {
      "field": "pluginVmAllowed",
      "noticeValue": "true",
      "noticeMessage": "By enabling Parallels Desktop, you agree to the Parallels End-User License Agreement specified at https://www.parallels.com/about/legal/eula/. Warning: Device identifiers may be shared with Parallels. Please see privacy policy for more details at https://www.parallels.com/about/legal/privacy/. The minimum recommended configuration includes an i5 processor, 16 GB RAM, and 128 GB storage: https://support.google.com/chrome/a/answer/10044480.",
      "acknowledgementRequired": true
    }
  ],
  "supportUri": "...",
  "schemaName": "chrome.users.PluginVmAllowed"
}

Im obigen Beispiel wird der Wert des Felds pluginVmAllowed auf true gesetzt, mit einer Meldung verknüpft ist, die acknowledgementRequired enthält. Damit Sie Wenn Sie diesen Feldwert auf true setzen, müssen Sie eine Anfrage mit folgender URL senden: das Bestätigungsfeld ackNoticeForPluginVmAllowedSetToTrue auf true, Andernfalls erhalten Sie einen Fehler in Ihrer Anfrage.

In diesem Beispiel müssten Sie die folgende Batch-Änderungsanfrage senden.

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d "{
  'requests': [
    {
      'policyTargetKey': {
        'targetResource': 'orgunits/03ph8a2z10ybbh2'
      },
      'policyValue': {
        'policySchema': 'chrome.users.PluginVmAllowed',
        'value': {
          'pluginVmAllowed': true,
          'ackNoticeForPluginVmAllowedSetToTrue': true
        }
      },
      'updateMask': {
        'paths': [
          'pluginVmAllowed',
          'ackNoticeForPluginVmAllowedSetToTrue'
        ]
      }
    }
  ]
}" \
"https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Dateirichtlinien festlegen

Bei einigen Richtlinien sind Felder vom Typ UploadedFile. Sie müssen die Datei, die Sie als Wert für diese Richtlinien für den API-Server festlegen möchten, zum Abrufen einer URL zur Verwendung in BatchModify-Anfragen.

In diesem Beispiel legen wir chrome.users.Wallpaper fest, indem wir ein JPEG-Datei.

Datei hochladen

Anfrage

curl -X POST \
  -H "Content-Type: image/jpeg" \
  -H "Authorization: Bearer $TOKEN" \
  -T "/path/to/the/file" \
  "https://chromepolicy.googleapis.com/upload/v1/customers/$CUSTOMER/policies/files:uploadPolicyFile?policy_field=chrome.users.Wallpaper.wallpaperImage"

Antwort

Eine erfolgreiche Antwort sollte die URL für den Zugriff auf die Datei enthalten:

{
  "downloadUri": "https://storage.googleapis.com/chromeos-mgmt/0gjdgxs370bkl6/ChromeOsWallpaper/32ac50ab-b5ae-4bba-afa8-b6b443912897"
}

Dateirichtlinie festlegen

Anfrage

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
        requests: [{
                policyTargetKey: {
                        targetResource: "orgunits/04fatzly4jbjho9",
                        },
                policyValue: {
                        policySchema: "chrome.users.Wallpaper",
                        value: {
                          wallpaperImage: {downloadUri: "https://storage.googleapis.com/chromeos-mgmt/0gjdgxs370bkl6/ChromeOsWallpaper/32ac50ab-b5ae-4bba-afa8-b6b443912897"}
                          }
                        },
                updateMask: {paths: "wallpaperImage"}
                }]
      }' \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policies/orgunits:batchModify"

Antwort

Eine erfolgreiche Antwort sollte leer sein.

{}