Poniższe żądania ilustrują zarządzanie zasadami za pomocą interfejsu Policy API. Przed Tobą zapoznaj się z omówieniem interfejsu Chrome Policy API, aby uzyskać ogólne podsumowanie funkcji tego interfejsu API.
Wszystkie przedstawione poniżej żądania używają następujących zmiennych:
- $TOKEN– token OAuth 2
- $CUSTOMER– identyfikator klienta lub literału- my_customer.
Wyświetlenie listy schematów zasad dotyczących drukarek
Aby wyświetlić schematy, które dotyczą tylko zasad dotyczących drukarek, zastosujemy filter
do żądania listy usług schematu. Możesz kontrolować podział
wynik za pomocą parametrów pageSize i pageToken.
Żądanie
  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=chrome.printers&pageSize=2"
Odpowiedź
{
  "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"
}
Wyszukaj schematy
Możesz tworzyć złożone zapytania za pomocą parametru filter= w schemacie
Żądanie listy usług. Jeśli na przykład chcesz wyszukać schematy zawierające
słowo „drukarka” w nazwie i słowie „urządzenia” w opisie, który możesz zastosować
tę wartość do filtra name=printers AND description=devices.
Dowiedz się, jak wyświetlać listy schematów zasad.
Żądanie
  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas?filter=name=printers%20AND%20description=devices"
Odpowiedź
{
  "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"
    }
  ]
}
Pobieranie określonego schematu
W powyższym wyniku widzimy listę obsługiwanych schematów zasad. Każdy schemat ma
pole name identyfikujące schemat. W przyszłości, gdy już wiesz,
nazwy schematu, możesz go odczytać bezpośrednio, korzystając z
nazwę schematu w adresie URL żądania.
Spójrzmy na przykład schematu chrome.printers.AllowForUsers.
Żądanie
  curl -X GET \
  -H "Authorization: Bearer $TOKEN" \
  "https://chromepolicy.googleapis.com/v1/customers/$CUSTOMER/policySchemas/chrome.printers.AllowForUsers"
Odpowiedź
{
  "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"
}
Odpowiedź schematu zasad opisuje schemat
Zasada chrome.printers.AllowForUsers. Pole powiadomienia additionalTargetKeyNames.
To pole wyjaśnia, że zasada wymaga podania dodatkowych kluczy/par.
w odniesieniu do tych zasad. W kontekście tej zasady zawsze musimy
podaj identyfikator drukarki.
Odczytywanie wartości zasady
Przyjrzyjmy się zasadom chrome.printers.AllowForUsers dotyczącym konkretnej drukarki.
Uwaga: pole additionalTargetKeys określa identyfikator drukarki w żądaniu.
Zasady możesz odczytać z jednostki organizacyjnej lub grupy.
Zwróć uwagę na pole sourceKey w odpowiedzi, które określa,
Jednostka organizacyjna lub grupa, z której pochodzi wartość zasady. Dla:
W przypadku jednostek organizacyjnych dostępne są te możliwości:
- Jeśli źródłowa jednostka organizacyjna jest taka sama jak jednostka organizacyjna podana w oznacza, że zasada została zastosowana lokalnie w tej jednostce organizacyjnej.
- Jeśli źródłowa jednostka organizacyjna jest inna niż jednostka organizacyjna podana w żądania, oznacza to, że zasada jest dziedziczona ze źródłowej organizacji Jednostka
- Jeśli nie ma atrybutu sourceKeylub odpowiedź jest pusta, oznacza to, że zasada nie jest ustawiona dla klienta i ma domyślną wartość systemową.
W przypadku Grup dyskusyjnych klucz sourceKey będzie zawsze taki sam jak wartość Group, która była określone w żądaniu.
Poniższy przykład dotyczy jednostki organizacyjnej. Żądanie grupy wyglądałoby tak taki sam oprócz zasobu targetResource, który ma parametr „groups/” zamiast „jednostki organizacyjne/” przed identyfikatorem.
Żądanie
  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"
Odpowiedź
{
  "resolvedPolicies": [
    {
      "targetKey": {
        "targetResource": "orgunits/03ph8a2z1xdnme9"
        "additionalTargetKeys": {"printer_id":"0gjdgxs208tpef"}
      },
      "value": {
        "policySchema": "chrome.users.AllowForDevices",
        "value": {
          "allowForDevices": true
        }
      },
      "sourceKey": {
        "targetResource": "orgunits/03ph8a2z3qhz81k"
      }
    }
  ]
}
Pamiętaj, że wszystkie encje w zasobach docelowych można pobrać, pomijając
additionalTargetKeys z prośby. Jeśli na przykład additionalTargetKeys
zostałyby pominięte w powyższym żądaniu, spowoduje to zwrócenie wszystkich drukarek
określony zasób docelowy.
Przeczytaj wiele zasad
Podaj przestrzeń nazw schematu za pomocą gwiazdki (np. chrome.printers.*) zezwala
odczytuje wartości wszystkich zasad z danej przestrzeni nazw w określonym
Jednostka organizacyjna lub grupa. Więcej informacji o
Schematy zasad.
Poniższy przykład dotyczy jednostki organizacyjnej. Żądanie grupy wyglądałoby tak taki sam oprócz zasobu targetResource, który ma parametr „groups/” zamiast „jednostki organizacyjne/” przed identyfikatorem.
Żądanie
  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"
Odpowiedź
{
  "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="
}
Zmień wartość zasady
Zgodnie z odpowiedzią schematu zasad zasada chrome.printers.AllowForUsers
ma jedno pole o nazwie allowForUsers. To pole jest wartością logiczną. Przykład
wartością zasady może być {allowForUsers: false} lub
{allowForUsers: true} W tym przypadku mamy tylko jedno pole,
inne zasady mogą zawierać wiele pól.
W żądaniach modyfikacji trzeba określić updateMask. Zaktualizuj listę masek
pola, które mają być zmodyfikowane. Jeśli zasada była już stosowana lokalnie w
Jednostka organizacyjna, pola, które nie są wymienione przez maskę aktualizacji, zostaną
pozostają niezmienione. Jeśli zasada nie była wcześniej stosowana lokalnie w
Jednostka organizacyjna i wszystkie pola, które nie są wymienione jako maska aktualizacji, zostaną
w razie potrzeby skopiuj ich wartości z nadrzędnej jednostki organizacyjnej, a także
a cała zasada zostanie
zastosowana lokalnie.
Poniższe przykłady dotyczą jednostki organizacyjnej. Żądania grupowe to
taki sam oprócz zasobu targetResource, który zawiera parametr „groups/” zamiast
„jednostki organizacyjne/” przed identyfikatorem. Tutaj zablokujemy dostęp do drukarki 0gjdgxs208tpef za
użytkownicy w jednostce organizacyjnej o identyfikatorze 04fatzly4jbjho9:
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Pola wielowartościowe, takie jak listy i tablice, są oznaczone symbolem „LABEL_REPEATED”
. Aby wypełnić pola z wieloma wartościami, użyj następującego formatu tablicy JSON:
[value1, value2, value3, ...]
Aby na przykład ustawić źródłowe adresy URL pakietów aplikacji i rozszerzeń jako „test1.com”, „test2.com” i „test3.com”, musimy wysłać następujące żądanie:
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Wszystkie zasady, które zawierają pola NullableDuration, występują w dwóch wersjach. Pierwotna wersja akceptuje tylko ciąg znaków jako dane wejściowe dla NullableDuration i jest teraz wycofane. Użyj wersji V2, która zastępuje typ czasu trwania wprowadzania danych liczbowych. Aby na przykład ustawić maksymalną długość sesji użytkownika na 10 minut musimy wysłać następujące żądanie:
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Modyfikowanie wielu zasad jednocześnie
batchModify
umożliwia wysłanie wielu modyfikacji zasad jednocześnie.
Jednak nie wszystkie zasady można grupować. Aby dowiedzieć się więcej,
zapoznaj się z sekcją Zbiorcze aktualizowanie zasad.
W tym przykładzie zmienimy w tym samym żądaniu dwa różne
zasady (chrome.printers.AllowForDevices i chrome.printers.AllowForUsers)
dla tej samej drukarki.
Poniższy przykład dotyczy jednostki organizacyjnej. Żądanie grupy wyglądałoby tak taki sam oprócz zasobu targetResource, który ma parametr „groups/” zamiast „jednostki organizacyjne/” przed identyfikatorem.
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Dziedziczenie wartości zasady w jednostce organizacyjnej
batchInherit
pozwala zmienić stan zasad w jednostce organizacyjnej z poziomu
„stosowane lokalnie” na „dziedziczone”. Wartości lokalne zostaną wyczyszczone, a zasada
W stosownych przypadkach odziedziczą wartości z nadrzędnej jednostki organizacyjnej.
Metoda batchInherit umożliwia również wysyłanie wielu dziedziczenia zasad
wiele żądań jednocześnie. Jednak nie wszystkie zasady można grupować.
Aby dowiedzieć się więcej,
zapoznaj się z sekcją Zbiorcze aktualizowanie zasad.
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Usuwanie wartości zasady z grupy
batchDelete
pozwala usunąć zasadę z grupy. Wartości lokalne zostaną wyczyszczone.
Metoda batchDelete umożliwia również wysyłanie wielu żądań usunięcia zasad
wiele żądań jednocześnie. Jednak nie wszystkie zasady można grupować.
Więcej informacji:
Zasady dotyczące aktualizacji zbiorczych
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Określanie priorytetów grup
listGroupPriorityOrdering
pozwala na określenie priorytetu grup dla aplikacji.
Kolejność zwracanych identyfikatorów grup wskazuje priorytet, ich ustawienia będą stosowane do aplikacji; późniejsze identyfikatory zasady będą zastąpione przez zasady, których identyfikatory znajdują się wcześniej na liście.
Priorytety grup są wyższe niż priorytety jednostek organizacyjnych.
W tym żądaniu zwracamy kolejność priorytetów aplikacji „exampleapp”. Aplikacja użytkownika Chrome.
Żądanie
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"
Odpowiedź
{
  "policyTargetKey": {
    "additionalTargetKeys": {
      "app_id": "chrome:exampleapp"
    }
  },
  "policyNamespace": "chrome.users.apps",
  "groupIds": [
    "03ep43zb2k1nodu",
    "01t3h5sf2k52kol",
    "03q5sasy2ihwnlz"
  ]
}
Aktualizowanie priorytetu grupy
updateGroupPriorityOrdering
pozwala zaktualizować priorytet grup aplikacji.
Kolejność identyfikatorów grup w żądaniu wskazuje priorytet, ich ustawienia będą stosowane do aplikacji; późniejsze identyfikatory zasady będą zastąpione przez zasady, których identyfikatory znajdują się wcześniej na liście. Żądanie musi uwzględnij każdy identyfikator grupy, który jest obecnie stosowany w aplikacji.
Priorytety grup są wyższe niż priorytety jednostek organizacyjnych.
W tym zgłoszeniu ustawiamy priorytet aplikacji „exampleapp”. Aplikacja użytkownika Chrome.
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź jest pusta.
{}
Obsługa zasad, które wymagają potwierdzenia
Niektóre schematy zasad określają „powiadomienia” dla określonych wartości danego pola które wymagają potwierdzenia.
Przykład zasady 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"
}
W tym przykładzie ustawienie wartości pola pluginVmAllowed na true to
powiązany z powiadomieniem, które zawiera acknowledgementRequired. Aby prawidłowo
ustaw tę wartość pola na true, prześlij żądanie, które określa
pole potwierdzenia od ackNoticeForPluginVmAllowedSetToTrue do true,
W przeciwnym razie w żądaniu pojawi się błąd.
W tym przykładzie musisz wysłać poniższe żądanie modyfikacji zbiorczej.
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"
Ustawianie zasad dotyczących plików
Niektóre zasady mają pola o nazwie UploadedFile, dlatego musisz przesłać
który ma być wartością tych zasad dla serwera API, w kolejności
aby uzyskać adres URL do wykorzystania w żądaniach typu BatchModify.
W tym przykładzie ustawimy chrome.users.Wallpaper, przesyłając plik
JPEG.
Przesyłanie pliku
Żądanie
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"
Odpowiedź
Prawidłowa odpowiedź powinna zawierać adres URL umożliwiający dostęp do pliku:
{
  "downloadUri": "https://storage.googleapis.com/chromeos-mgmt/0gjdgxs370bkl6/ChromeOsWallpaper/32ac50ab-b5ae-4bba-afa8-b6b443912897"
}
Konfigurowanie zasad dotyczących plików
Żądanie
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"
Odpowiedź
Pomyślna odpowiedź powinna być pusta.
{}
