Mã mẫu

Các yêu cầu dưới đây minh hoạ hoạt động quản lý chính sách bằng API Chính sách. Trước khi hãy đảm bảo rằng bạn xem Tổng quan về API Chính sách Chrome để biết tóm tắt cấp cao về các tính năng của API này.

Tất cả yêu cầu được trình bày dưới đây đều sử dụng các biến sau:

  • $TOKEN – Mã thông báo OAuth 2
  • $CUSTOMER – Mã khách hàng hoặc giá trị cố định my_customer

Liệt kê giản đồ cho chính sách máy in

Để liệt kê các giản đồ chỉ liên quan đến chính sách cho máy in, chúng tôi sẽ áp dụng filter cho yêu cầu danh sách Dịch vụ giản đồ. Bạn có thể kiểm soát việc phân trang của kết quả bằng cách sử dụng tham số pageSizepageToken.

Yêu cầu

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

Phản hồi

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

Tìm kiếm giản đồ

Bạn có thể tạo các truy vấn tìm kiếm phức tạp bằng cách sử dụng tham số filter= trong Giản đồ Yêu cầu danh sách dịch vụ. Ví dụ: nếu bạn muốn tìm kiếm các giản đồ có từ "máy in" trong tên và từ "thiết bị" Trong phần mô tả, bạn có thể áp dụng giá trị sau vào bộ lọc name=printers AND description=devices.

Tìm hiểu cách liệt kê giản đồ chính sách.

Yêu cầu

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

Phản hồi

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

Nhận một giản đồ cụ thể

Trong kết quả trên, chúng ta thấy danh sách các giản đồ chính sách được hỗ trợ. Mỗi giản đồ có trường name xác định giản đồ. Trong tương lai, khi bạn biết rằng tên giản đồ, bạn có thể đọc trực tiếp giản đồ cụ thể bằng cách tham chiếu đến tên giản đồ trong URL yêu cầu.

Hãy xem một ví dụ về giản đồ chrome.printers.AllowForUsers.

Yêu cầu

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

Phản hồi

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

Phản hồi của giản đồ chính sách ở trên mô tả giản đồ của Chính sách chrome.printers.AllowForUsers. Trường thông báo additionalTargetKeyNames. Trường này giải thích rằng chính sách yêu cầu cung cấp thêm khoá/giá trị khi tuân thủ chính sách này. Cụ thể, đối với chính sách này, chúng tôi luôn cần cung cấp giá trị nhận dạng của máy in.

Đọc một giá trị của chính sách

Hãy đọc chính sách chrome.printers.AllowForUsers cho một máy in cụ thể. Hãy lưu ý rằng việc sử dụng trường additionalTargetKeys để chỉ định mã máy in trong yêu cầu.

Bạn có thể đọc chính sách của một Đơn vị tổ chức hoặc từ một Nhóm.

Trong phản hồi, hãy lưu ý trường sourceKey để chỉ định Đơn vị tổ chức hoặc Nhóm nơi bắt nguồn giá trị của chính sách. Cho Có các trường hợp sau đây cho Đơn vị tổ chức:

  • Nếu Đơn vị tổ chức nguồn giống với Đơn vị tổ chức được cung cấp trong một yêu cầu, điều đó có nghĩa là chính sách được áp dụng cục bộ trong Đơn vị tổ chức này.
  • Nếu Đơn vị tổ chức nguồn khác với Đơn vị tổ chức được cung cấp trong điều đó có nghĩa là chính sách được kế thừa từ tổ chức nguồn Đơn vị.
  • Nếu không có sourceKey hoặc phản hồi trống, thì có nghĩa là chính sách này không được thiết lập cho khách hàng và có giá trị hệ thống mặc định.

Đối với Groups, sourceKey sẽ luôn giống với Group đã được chỉ định trong yêu cầu.

Sau đây là ví dụ dành cho Đơn vị tổ chức. Yêu cầu Nhóm sẽ là giống nhau, ngoại trừ targetResource sẽ có "groups/" thay vì "orgunits/" trước mã nhận dạng.

Yêu cầu

  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"

Phản hồi

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

Lưu ý rằng tất cả thực thể trong tài nguyên mục tiêu đều có thể tìm nạp được bằng cách bỏ qua additionalTargetKeys khỏi yêu cầu. Ví dụ: nếu additionalTargetKeys đã bị bỏ qua khỏi yêu cầu ở trên, thì lệnh này sẽ trả về tất cả máy in trong tài nguyên mục tiêu đã chỉ định.

Đọc nhiều chính sách

Cung cấp không gian tên giản đồ có dấu hoa thị (ví dụ: chrome.printers.*) cho phép bạn đọc các giá trị của tất cả các chính sách trong vùng chứa tên này ở một vị trí cụ thể Đơn vị tổ chức hoặc nhóm. Tìm hiểu thêm về Giản đồ chính sách.

Sau đây là ví dụ dành cho Đơn vị tổ chức. Yêu cầu Nhóm sẽ là giống nhau, ngoại trừ targetResource sẽ có "groups/" thay vì "orgunits/" trước mã nhận dạng.

Yêu cầu

  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"

Phản hồi

{
  "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="
}

Sửa đổi giá trị chính sách

Như đã thấy trong phản hồi của giản đồ chính sách, chính sách chrome.printers.AllowForUsers có một trường tên là allowForUsers. Trường này thuộc một loại boolean. Ví dụ: giá trị của chính sách có thể là {allowForUsers: false} hoặc {allowForUsers: true} Trong trường hợp cụ thể này, chúng ta chỉ có một trường, tuy nhiên, các chính sách khác có thể chứa nhiều trường.

Trong yêu cầu sửa đổi, chúng ta cần chỉ định updateMask. Cập nhật danh sách mặt nạ tất cả các trường mà chúng tôi muốn sửa đổi. Nếu chính sách đã được áp dụng cục bộ trong Đơn vị tổ chức thì những trường không được liệt kê thông qua mặt nạ cập nhật sẽ vẫn giữ nguyên. Nếu chính sách chưa được áp dụng cục bộ trong Đơn vị tổ chức và tất cả các trường không được liệt kê thông qua mặt nạ cập nhật sẽ sao chép các giá trị từ Đơn vị tổ chức chính khi thích hợp và toàn bộ chính sách sẽ được áp dụng cục bộ.

Các ví dụ sau dành cho Đơn vị tổ chức. Yêu cầu nhóm là giống nhau, ngoại trừ targetResource sẽ có "groups/" thay vì "orgunits/" trước mã nhận dạng. Ở đây, chúng tôi sẽ không cho phép máy in 0gjdgxs208tpef đối với người dùng trong Mã đơn vị tổ chức 04fatzly4jbjho9:

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Các trường nhiều giá trị như danh sách hoặc mảng được đánh dấu bằng "LABEL_repEATED" . Để điền các trường có nhiều giá trị, hãy sử dụng định dạng mảng JSON sau đây: [value1, value2, value3, ...].

Ví dụ: để đặt URL nguồn cho gói ứng dụng và gói tiện ích dưới dạng "test1.com", "test2.com" và "test3.com", chúng tôi cần gửi yêu cầu sau:

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Tất cả chính sách chứa trường NullableDuration, có hai phiên bản. Phiên bản gốc chỉ chấp nhận chuỗi làm dữ liệu đầu vào cho NullableDuration và hiện là không dùng nữa. Vui lòng sử dụng phiên bản V2 sẽ thay thế loại thời lượng bằng một đầu vào dạng số. Ví dụ: để đặt thời lượng phiên người dùng tối đa là 10 phút chúng tôi cần gửi yêu cầu sau:

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Sửa đổi nhiều chính sách cùng một lúc

batchModify cho phép bạn gửi nhiều nội dung sửa đổi chính sách cùng một lúc. Tuy nhiên, không phải tất cả các chính sách đều có thể được phân lô cùng nhau. Để biết thêm thông tin, hãy xem Chính sách cập nhật theo lô.

Trong ví dụ này, chúng ta sẽ sửa đổi hai cấu hình chính sách (chrome.printers.AllowForDeviceschrome.printers.AllowForUsers) cho cùng một máy in.

Sau đây là ví dụ dành cho Đơn vị tổ chức. Yêu cầu Nhóm sẽ là giống nhau, ngoại trừ targetResource sẽ có "groups/" thay vì "orgunits/" trước mã nhận dạng.

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Kế thừa giá trị chính sách trong một Đơn vị tổ chức

batchInherit cho phép bạn sửa đổi trạng thái của chính sách trong Đơn vị tổ chức từ "được áp dụng cục bộ" thành "được kế thừa". Các giá trị cục bộ sẽ bị xoá và chính sách này sẽ kế thừa các giá trị từ Đơn vị tổ chức mẹ nếu có.

Phương thức batchInherit cũng cho phép bạn gửi nhiều kế thừa chính sách yêu cầu đồng thời. Tuy nhiên, không phải tất cả các chính sách đều có thể được phân lô cùng nhau. Để biết thêm thông tin, hãy xem Chính sách cập nhật theo lô.

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Xoá giá trị chính sách trong nhóm

batchDelete cho phép bạn xoá chính sách khỏi Nhóm. Các giá trị cục bộ sẽ bị xóa.

Phương thức batchDelete cũng cho phép bạn gửi nhiều lệnh xoá chính sách yêu cầu đồng thời. Tuy nhiên, không phải tất cả các chính sách đều có thể được phân lô cùng nhau. Để biết thêm thông tin, hãy xem Chính sách cập nhật theo lô.

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Liệt kê thứ tự ưu tiên cho một Nhóm

listGroupPriorityOrdering cho phép bạn liệt kê thứ tự ưu tiên của các Nhóm cho một ứng dụng.

Thứ tự của các Mã nhóm được trả về cho biết mức độ ưu tiên mà trong đó cài đặt của họ sẽ được áp dụng cho ứng dụng; id sau này sẽ được bị ghi đè bởi các chính sách có mã nhận dạng trước đó trong danh sách.

Xin lưu ý rằng mức độ ưu tiên trong Nhóm cao hơn mức độ ưu tiên của Đơn vị tổ chức.

Trong yêu cầu này, chúng tôi sẽ trả về thứ tự ưu tiên của "exampleapp" Ứng dụng Người dùng Chrome.

Yêu cầu

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"

Phản hồi

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

Cập nhật thứ tự ưu tiên cho một Nhóm

updateGroupPriorityOrdering cho phép bạn cập nhật thứ tự ưu tiên của các Nhóm cho một ứng dụng.

Thứ tự của các Mã nhóm trong yêu cầu cho biết mức độ ưu tiên mà cài đặt của họ sẽ được áp dụng cho ứng dụng; id sau này sẽ được bị ghi đè bởi các chính sách có mã nhận dạng trước đó trong danh sách. Yêu cầu phải bao gồm mọi Mã nhóm hiện đang được áp dụng trên ứng dụng.

Xin lưu ý rằng mức độ ưu tiên trong Nhóm cao hơn mức độ ưu tiên của Đơn vị tổ chức.

Trong yêu cầu này, chúng tôi sẽ đặt thứ tự ưu tiên cho "exampleapp" Ứng dụng Người dùng Chrome.

Yêu cầu

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"

Phản hồi

Phản hồi thành công trống.

{}

Xử lý những chính sách yêu cầu xác nhận

Một số giản đồ chính sách chỉ định "thông báo" cho các giá trị nhất định của một trường cụ thể yêu cầu xác nhận.

Ví dụ về chính sách 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"
}

Trong ví dụ trên, việc đặt giá trị của trường pluginVmAllowed thành true sẽ liên kết với một thông báo có acknowledgementRequired. Đến đúng cách nếu đặt giá trị trường này thành true, thì bạn sẽ cần gửi yêu cầu chỉ định trường xác nhận ackNoticeForPluginVmAllowedSetToTrue sang true, nếu không, bạn sẽ nhận được thông báo lỗi trong yêu cầu của mình.

Trong ví dụ này, bạn cần gửi yêu cầu sửa đổi hàng loạt sau đây.

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"

Đặt chính sách tệp

Một số chính sách có các trường được nhập là UploadedFile, bạn cần tải lên mà bạn muốn đặt làm giá trị của các chính sách đó cho máy chủ API, theo thứ tự để lấy URL để sử dụng trong các yêu cầu BatchModify.

Trong ví dụ này, chúng ta sẽ đặt chrome.users.Wallpaper bằng cách tải lên JPEG.

Tải tệp lên

Yêu cầu

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"

Phản hồi

Phản hồi thành công phải chứa URL để truy cập vào tệp:

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

Đặt chính sách tệp

Yêu cầu

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"

Phản hồi

Bạn phải để trống trường phản hồi thành công.

{}