Mã mẫu

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

Tất cả yêu cầu được trình bày bên dưới đề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 dành cho máy in, chúng tôi sẽ áp dụng tham số 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 kết quả bằng cách sử dụng các 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 yêu cầu danh sách Dịch vụ giản đồ. Ví dụ: nếu muốn tìm kiếm 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 cho 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 một danh sách các giản đồ chính sách được hỗ trợ. Mỗi giản đồ có một trường name xác định giản đồ đó. Trong tương lai, sau khi biết tên giản đồ, bạn có thể đọc trực tiếp giản đồ đó bằng cách tham chiếu đến tên giản đồ trong URL yêu cầu.

Hãy xem 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 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 này yêu cầu cung cấp thêm khoá/giá trị khi xử lý 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ể. Lưu ý: Hãy 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 từ một Đơn vị tổ chức hoặc từ một Nhóm.

Trong phản hồi, hãy chú ý đến trường sourceKey. Trường này chỉ định đơn vị tổ chức hoặc Nhóm nào tạo ra giá trị của chính sách. Đối với Đơn vị tổ chức, có những khả năng sau:

  • Nếu Đơn vị tổ chức nguồn giống với Đơn vị tổ chức được cung cấp trong yêu cầu, thì tức là chính sách này đượ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 yêu cầu, thì tức là chính sách này được kế thừa từ Đơn vị tổ chức nguồn.
  • Nếu không có sourceKey hoặc phản hồi trống, tức là chính sách chưa được đặt 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.

Ví dụ sau đây là dành cho một đơn vị tổ chức. Yêu cầu Nhóm sẽ giống nhau, ngoại trừ targetResource 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 bạn có thể tìm nạp tất cả các thực thể trong tài nguyên mục tiêu 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, thao tác 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 của giản đồ bằng dấu hoa thị (ví dụ: chrome.printers.*) cho phép bạn đọc giá trị của tất cả các chính sách thuộc không gian tên này trong một Đơn vị tổ chức hoặc Nhóm cụ thể. Tìm hiểu thêm về Giản đồ chính sách.

Ví dụ sau đây là dành cho một đơn vị tổ chức. Yêu cầu Nhóm sẽ giống nhau, ngoại trừ targetResource 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 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 loại boolean. Giá trị mẫu 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 tôi 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. Mặt nạ cập nhật liệt kê tất cả các trường mà chúng ta 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ì các 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 giá trị của chúng từ Đơn vị tổ chức mẹ khi thích hợp, và toàn bộ chính sách sẽ được áp dụng cục bộ.

Sau đây là ví dụ về một Đơn vị tổ chức. Các yêu cầu nhóm cũng giống như nhau, ngoại trừ targetResource sẽ có "groups/" thay vì "orgunits/" trước mã nhận dạng. Tại đây, chúng tôi sẽ không cho phép máy in 0gjdgxs208tpef đối với người dùng có 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

Không có phản hồi thành công.

{}

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

Ví dụ: để đặt URL nguồn cho gói ứng dụng và 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

Không có phản hồi thành công.

{}

Có hai phiên bản đối với tất cả các chính sách chứa các trường NullableDuration. 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 không được dùng nữa. Vui lòng sử dụng phiên bản V2 thay thế loại thời lượng bằng phương thức nhập 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

Không có phản hồi thành công.

{}

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

Phương thứ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 nhóm cùng nhau. Để biết thêm thông tin chi tiết, vui lòng xem bài viết Chính sách cập nhật theo lô.

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

Ví dụ sau đây là dành cho một đơn vị tổ chức. Yêu cầu Nhóm sẽ giống nhau, ngoại trừ targetResource 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

Không có phản hồi thành công.

{}

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

Phương thức batchInherit cho phép bạn sửa đổi trạng thái của chính sách trong một đơn vị tổ chức từ "áp dụng cục bộ" thành "được kế thừa". Giá trị cục bộ sẽ bị xóa 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 yêu cầu kế thừa 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 nhóm cùng nhau. Để biết thêm thông tin chi tiết, vui lòng xem bài viết 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

Không có phản hồi thành công.

{}

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

Phương thức batchDelete cho phép bạn xoá một chính sách khỏi một Nhóm. Giá trị cục bộ sẽ bị xoá.

Phương thức batchDelete cũng cho phép bạn gửi nhiều yêu cầu xoá 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 nhóm cùng nhau. Để biết thêm thông tin chi tiết, vui lòng 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

Không có phản hồi thành công.

{}

Liệt kê thứ tự ưu tiên của Nhóm

Phương thức 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 áp dụng các chế độ cài đặt cho ứng dụng; các chính sách của mã nhóm sau này sẽ bị ghi đè bởi các chính sách có mã trước đó trong danh sách.

Xin lưu ý rằng mức độ ưu tiên của Nhóm sẽ 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 cho ứng dụng Người dùng Chrome "exampleapp".

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 Nhóm

Phương thức 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 mã nhóm trong yêu cầu cho biết mức độ ưu tiên áp dụng chế độ cài đặt cho ứng dụng; các chính sách sau này sẽ bị ghi đè bởi các chính sách có mã trước đó trong danh sách. Yêu cầu phải bao gồm mọi Mã nhóm hiện đang áp dụng trên ứng dụng.

Xin lưu ý rằng mức độ ưu tiên của Nhóm sẽ 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 ứng dụng Người dùng Chrome "exampleapp".

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

Không có phản hồi thành công.

{}

Xử lý các 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ẽ được liên kết với một thông báo có acknowledgementRequired. Để đặt giá trị trường này thành true đúng cách, bạn cần gửi yêu cầu chỉ định trường xác nhận ackNoticeForPluginVmAllowedSetToTrue đến true, nếu không, bạn sẽ gặp lỗi trong yêu cầu.

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 tệp mà bạn muốn đặt làm giá trị của các chính sách đó lên máy chủ API để lấy URL dùng trong các yêu cầu BatchModify.

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

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 tệp:

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

Đặt chính sách về 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 nên để trống phản hồi thành công.

{}