Codebeispiele

Die folgenden Anfragen veranschaulichen die Richtlinienverwaltung mit der Policy API. Bevor Sie beginnen, sollten Sie die Übersicht über die Chrome Policy API lesen. Dort finden Sie eine allgemeine Zusammenfassung der Funktionen dieser API.

Bei allen unten aufgeführten Anfragen werden die folgenden Variablen verwendet:

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

Schemas für Druckerrichtlinien auflisten

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

Anfragen

  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 mit dem Parameter filter= in der Listenanfrage für den Schemadienst erstellen. Wenn Sie beispielsweise nach Schemas suchen möchten, die das Wort „Drucker“ im Namen und das Wort „Geräte“ in der Beschreibung enthalten, können Sie den folgenden Wert auf den Filter name=printers AND description=devices anwenden.

Richtlinienschemas auflisten

Anfragen

  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"
    }
  ]
}

Ein bestimmtes Schema abrufen

Im Ergebnis oben sehen Sie eine Liste der unterstützten Richtlinienschemas. Jedes Schema hat ein name-Feld, das das Schema identifiziert. Sobald Sie den Schemanamen kennen, können Sie das spezifische Schema künftig direkt auslesen, indem Sie in der Anfrage-URL auf den Schemanamen verweisen.

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

Anfragen

  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 Richtlinienschemaantwort beschreibt das Schema der chrome.printers.AllowForUsers-Richtlinie. Hinweisfeld additionalTargetKeyNames. In diesem Feld wird erklärt, dass für die Richtlinie im Umgang mit dieser Richtlinie zusätzliche Schlüssel/Wert-Paare angegeben werden müssen. Insbesondere müssen wir für diese Richtlinie immer die Kennung eines Druckers angeben.

Richtlinienwert lesen

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

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

Beachten Sie in der Antwort das Feld sourceKey, das angibt, aus welcher Organisationseinheit oder Gruppe der Wert der Richtlinie stammt. Für Organisationseinheiten gibt es folgende Möglichkeiten:

  • Wenn die Quellorganisationseinheit mit der in einer Anfrage angegebenen Organisationseinheit identisch ist, bedeutet dies, dass die Richtlinie lokal in dieser Organisationseinheit angewendet wird.
  • Wenn sich die Quellorganisationseinheit von der in einer Anfrage angegebenen Organisationseinheit unterscheidet, bedeutet dies, dass die Richtlinie von der Quellorganisationseinheit übernommen wird.
  • Wenn kein sourceKey vorhanden ist oder die Antwort leer ist, wurde die Richtlinie nicht für den Kunden festgelegt und hat den Standardsystemwert.

Bei Gruppen ist „sourceKey“ immer mit der in der Anfrage angegebenen Gruppe identisch.

Das folgende Beispiel bezieht sich auf eine Organisationseinheit. Eine Gruppenanfrage wäre dieselbe, mit Ausnahme der targetResource, deren ID "groups/" anstelle von "orgunits/" vor der ID steht.

Anfragen

  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"
      }
    }
  ]
}

Alle Entitäten in den Zielressourcen können durch Weglassen von additionalTargetKeys in der Anfrage abgerufen werden. Wird beispielsweise additionalTargetKeys in der obigen Anfrage weggelassen, werden alle Drucker in der angegebenen Zielressource zurückgegeben.

Mehrere Richtlinien lesen

Ein Schema-Namespace mit einem Sternchen wird angegeben (z.B. chrome.printers.*) ermöglicht es Ihnen, Werte für alle Richtlinien in diesem Namespace in einer bestimmten Organisationseinheit oder Gruppe zu lesen. Weitere Informationen zu Richtlinienschemas

Das folgende Beispiel bezieht sich auf eine Organisationseinheit. Eine Gruppenanfrage wäre dieselbe, mit Ausnahme der targetResource, deren ID "groups/" anstelle von "orgunits/" vor der ID steht.

Anfragen

  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 Richtlinienschemaantwort zu sehen ist, hat die Richtlinie chrome.printers.AllowForUsers ein Feld mit dem Namen allowForUsers. Der Typ dieses Felds ist ein boolescher Wert. Beispielwert für die Richtlinie kann entweder {allowForUsers: false} oder {allowForUsers: true} sein. In diesem speziellen Fall gibt es nur ein Feld, andere Richtlinien können jedoch mehrere Felder enthalten.

In Änderungsanfragen muss ein updateMask angegeben werden. Die Aktualisierungsmaske listet alle Felder auf, die Sie ändern möchten. Wenn die Richtlinie bereits lokal in der Organisationseinheit angewendet wurde, bleiben die Felder, die nicht über die Aktualisierungsmaske aufgeführt sind, unverändert. Wenn die Richtlinie nicht bereits lokal in der Organisationseinheit angewendet wurde und alle Felder, die nicht über eine Aktualisierungsmaske aufgeführt sind, ihre Werte gegebenenfalls aus der übergeordneten Organisationseinheit kopieren. Die gesamte Richtlinie wird dann lokal angewendet.

Die folgenden Beispiele beziehen sich auf eine Organisationseinheit. Gruppenanfragen sind identisch, mit Ausnahme der targetResource, deren ID „groups/“ anstelle von „orgunits/“ vor der ID steht. Hier wird der Drucker 0gjdgxs208tpef für Nutzer in der Organisationseinheits-ID 04fatzly4jbjho9 nicht zugelassen:

Anfragen

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.

{}

Felder mit mehreren Werten wie Listen oder Arrays sind mit dem Label "LABEL_REPEATED" gekennzeichnet. Wenn Sie Felder mit mehreren Werten füllen möchten, verwenden Sie das folgende JSON-Arrayformat: [value1, value2, value3, ...].

Um zum Beispiel Quell-URLs für App- und Erweiterungspakete als "test1.com", "test2.com" und "test3.com" festzulegen, müssen wir die folgende Anfrage senden:

Anfragen

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 wurde verworfen. Verwenden Sie Version 2, die den Dauertyp durch eine numerische Eingabe ersetzt. Um beispielsweise die maximale Länge einer Nutzersitzung auf 10 Minuten festzulegen, müssen Sie die folgende Anfrage senden:

Anfragen

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

Mit der Methode batchModify können Sie mehrere Richtlinienänderungen gleichzeitig senden. Es können jedoch nicht alle Richtlinien zusammengefasst werden. Weitere Informationen finden Sie unter 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 dieselbe, mit Ausnahme der targetResource, deren ID "groups/" anstelle von "orgunits/" vor der ID steht.

Anfragen

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

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

Mit der Methode batchInherit können Sie auch mehrere Anfragen zur Übernahme von Richtlinien gleichzeitig senden. Es können jedoch nicht alle Richtlinien zusammengefasst werden. Weitere Informationen finden Sie unter Richtlinien für Batch-Updates.

Anfragen

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

Mit der Methode 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 Anfragen zum Löschen von Richtlinien gleichzeitig senden. Es können jedoch nicht alle Richtlinien zusammengefasst werden. Weitere Informationen findest du unter Richtlinien für Batch-Updates.

Anfragen

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

Mit der Methode 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, mit der ihre Einstellungen auf die Anwendung angewendet werden. Richtlinien für spätere IDs werden von Richtlinien überschrieben, deren IDs weiter oben in der Liste stehen.

Beachten Sie, dass Gruppenprioritäten höher sind als Prioritäten für Organisationseinheiten.

In dieser Anfrage wird die Prioritätsreihenfolge für die Chrome-Nutzer-App "exampleapp" zurückgegeben.

Anfragen

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

Mit der Methode 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, mit der ihre Einstellungen auf die Anwendung angewendet werden. Richtlinien für spätere IDs werden von Richtlinien überschrieben, deren IDs sich weiter oben in der Liste befinden. Die Anfrage muss jede Gruppen-ID enthalten, die derzeit auf die App angewendet wird.

Beachten Sie, dass Gruppenprioritäten höher sind als Prioritäten für Organisationseinheiten.

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

Anfragen

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.

{}

Umgang mit Richtlinien, die eine Bestätigung erfordern

Einige Richtlinienschemas geben Hinweise für bestimmte Werte eines bestimmten Feldes an, die bestätigt werden müssen.

Beispiel für die 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"
}

Wenn im obigen Beispiel der Wert des Felds pluginVmAllowed auf true gesetzt wird, wird ein Hinweis mit acknowledgementRequired zugeordnet. Um diesen Feldwert ordnungsgemäß auf true zu setzen, müssen Sie eine Anfrage senden, in der das Bestätigungsfeld ackNoticeForPluginVmAllowedSetToTrue auf true festgelegt ist. Andernfalls wird in der Anfrage ein Fehler zurückgegeben.

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

Einige Richtlinien haben Felder mit dem Typ UploadedFile. Sie müssen die Datei, die Sie als Wert dieser Richtlinien festlegen möchten, auf den API-Server hochladen, um eine URL für die Verwendung in BatchModify-Anfragen zu erhalten.

In diesem Beispiel legen wir chrome.users.Wallpaper durch Hochladen einer JPEG-Datei fest.

Datei hochladen

Anfragen

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

Anfragen

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.

{}