कोड सैंपल

नीचे दिए गए अनुरोधों में, पॉलिसी एपीआई की मदद से नीति मैनेज करने का तरीका बताया गया है. शुरू करने से पहले, इस एपीआई की सुविधाओं के बारे में अहम जानकारी देखने के लिए, Chrome Policy API की खास जानकारी ज़रूर देखें.

नीचे दिए गए सभी अनुरोध में इन वैरिएबल का इस्तेमाल किया गया है:

  • $TOKEN - OAuth 2 टोकन
  • $CUSTOMER - ग्राहक का आईडी या लिटरल my_customer

प्रिंटर की नीतियों के लिए स्कीमा की सूची बनाना

सिर्फ़ प्रिंटर की नीतियों से जुड़े स्कीमा की सूची बनाने के लिए, हम स्कीमा सेवा की सूची के अनुरोध पर filter पैरामीटर लागू करेंगे. pageSize और pageToken पैरामीटर का इस्तेमाल करके, नतीजों के पेज पर नंबर डालने की प्रोसेस को कंट्रोल किया जा सकता है.

अनुरोध

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

जवाब

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

स्कीमा खोजें

आपके पास स्कीमा सेवा सूची के अनुरोध में, filter= पैरामीटर का इस्तेमाल करके मुश्किल खोज क्वेरी बनाने का विकल्प है. उदाहरण के लिए, अगर आपको ऐसे स्कीमा खोजने हैं जिनके नाम में "प्रिंटर" शब्द और ब्यौरे में "डिवाइस" शब्द है, तो फ़िल्टर name=printers AND description=devices में यह वैल्यू लागू की जा सकती है.

नीति के स्कीमा की सूची बनाने का तरीका जानें.

अनुरोध

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

जवाब

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

कोई खास स्कीमा पाना

ऊपर दिए गए नतीजे में, हमें इस्तेमाल की जा सकने वाली नीति के स्कीमा की सूची मिली है. हर स्कीमा में एक name फ़ील्ड होता है, जो स्कीमा की पहचान करता है. आने वाले समय में, स्कीमा का नाम जानने के बाद, अनुरोध के यूआरएल में दिए गए स्कीमा का नाम देखकर, सीधे उस स्कीमा को पढ़ा जा सकता है.

chrome.printers.AllowForUsers स्कीमा का एक उदाहरण देखें.

अनुरोध

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

जवाब

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

ऊपर दिए गए नीति स्कीमा के जवाब में, chrome.printers.AllowForUsers नीति के स्कीमा के बारे में बताया गया है. सूचना का फ़ील्ड additionalTargetKeyNames. इस फ़ील्ड में बताया गया है कि इस नीति का इस्तेमाल करते समय, नीति के तहत अतिरिक्त कुंजियों/वैल्यू की ज़रूरत होती है. खास तौर पर, इस नीति के लिए हमें प्रिंटर का आइडेंटिफ़ायर हमेशा देना होगा.

कोई नीति मान पढ़ें

आइए, किसी खास प्रिंटर के लिए chrome.printers.AllowForUsers नीति को पढ़ते हैं. अनुरोध में प्रिंटर आईडी तय करने के लिए फ़ील्ड additionalTargetKeys का इस्तेमाल करके सूचना दें.

संगठन की किसी इकाई या ग्रुप में मौजूद नीति को पढ़ा जा सकता है.

इस जवाब में, sourceKey फ़ील्ड पर ध्यान दें, जिससे तय होता है कि नीति की वैल्यू किस संगठन की इकाई या ग्रुप से जुड़ी है. संगठन की इकाइयों के लिए, ये तरीके अपनाए जा सकते हैं:

  • अगर सोर्स संगठन की इकाई और अनुरोध में दी गई संगठन की इकाई, दोनों एक ही है, तो इसका मतलब है कि संगठन की इस इकाई में, नीति स्थानीय तौर पर लागू की गई है.
  • अगर सोर्स संगठन की इकाई, अनुरोध में दी गई संगठन की इकाई से अलग है, तो इसका मतलब है कि नीति को सोर्स संगठन की इकाई से लिया गया है.
  • अगर कोई sourceKey मौजूद नहीं है या जवाब मौजूद नहीं है, तो इसका मतलब है कि नीति ग्राहक के लिए सेट नहीं की गई है और इसकी सिस्टम वैल्यू डिफ़ॉल्ट है.

ग्रुप के लिए, sourceKey हमेशा अनुरोध में बताए गए ग्रुप के समान होगी.

संगठन की एक इकाई के लिए, यह उदाहरण देखें. ग्रुप के लिए अनुरोध समान होगा, लेकिन targetResource के अलावा, जिसमें आईडी से पहले "orgunits/" के बजाय "groups/" होगा.

अनुरोध

  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"

जवाब

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

ध्यान दें कि टारगेट संसाधनों की सभी इकाइयों को, additionalTargetKeys को अनुरोध से हटाकर फ़ेच किया जा सकता है. उदाहरण के लिए, अगर additionalTargetKeys को ऊपर दिए गए अनुरोध से हटा दिया जाता है, तो यह बताए गए टारगेट रिसॉर्स में मौजूद सभी प्रिंटर दिखाएगा.

कई नीतियां पढ़ें

तारे के निशान के साथ स्कीमा नेमस्पेस देना (उदाहरण के लिए, chrome.printers.*) आपको संगठन की किसी खास इकाई या ग्रुप में, इस नेमस्पेस में आने वाली सभी नीतियों की वैल्यू पढ़ने की सुविधा देता है. नीति स्कीमा के बारे में ज़्यादा जानें.

संगठन की एक इकाई के लिए, यह उदाहरण देखें. ग्रुप के लिए अनुरोध समान होगा, लेकिन targetResource के अलावा, जिसमें आईडी से पहले "orgunits/" के बजाय "groups/" होगा.

अनुरोध

  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"

जवाब

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

नीति की वैल्यू में बदलाव करें

जैसा कि नीति स्कीमा के रिस्पॉन्स में देखा जा सकता है, नीति chrome.printers.AllowForUsers में allowForUsers नाम का एक फ़ील्ड है. यह फ़ील्ड बूलियन टाइप का है. उदाहरण के लिए, नीति की वैल्यू {allowForUsers: false} या {allowForUsers: true} हो सकती है. इस मामले में, हमारे पास सिर्फ़ एक फ़ील्ड है. हालांकि, दूसरी नीतियों में कई फ़ील्ड हो सकते हैं.

बदलाव के अनुरोधों में, हमें updateMask तय करना होगा. अपडेट मास्क उन सभी फ़ील्ड की सूची है, जिनमें हम बदलाव करना चाहते हैं. अगर संगठन की इकाई में नीति को पहले से ही लागू किया गया है, तो जिन फ़ील्ड को अपडेट मास्क की मदद से सूची में नहीं जोड़ा गया है उन पर कोई बदलाव नहीं होगा. अगर संगठन की इकाई में नीति पहले से ही लागू नहीं की गई है और अपडेट मास्क की मदद से, सूची में शामिल नहीं किए गए सभी फ़ील्ड, सही होने पर पैरंट संगठन की इकाई से वैल्यू कॉपी कर लेंगे, तो पूरी नीति स्थानीय तौर पर लागू हो जाएगी.

संगठन की इकाई के लिए ये उदाहरण दिए गए हैं. ग्रुप के अनुरोध एक जैसे होते हैं, सिर्फ़ targetResource के अलावा, जिसमें आईडी से पहले "orgunits/" के बजाय "groups/" होगा. यहां हम संगठन की इकाई आईडी 04fatzly4jbjho9 के उपयोगकर्ताओं के लिए, 0gjdgxs208tpef प्रिंटर की अनुमति नहीं देंगे:

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

सूची या कलेक्शन जैसे एक से ज़्यादा वैल्यू वाले फ़ील्ड को "LABEL_REPEATED" लेबल से मार्क किया जाता है. कई वैल्यू वाले फ़ील्ड में जानकारी अपने-आप भरने के लिए, JSON के कलेक्शन वाले इस फ़ॉर्मैट का इस्तेमाल करें: [value1, value2, value3, ...].

उदाहरण के लिए, ऐप्लिकेशन और एक्सटेंशन पैकेज के सोर्स यूआरएल को "test1.com", "test2.com", और "test3.com" के तौर पर सेट करने के लिए, हमें यह अनुरोध भेजना होगा:

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

उन सभी नीतियों के दो वर्शन हैं जिनमें NullableDuration फ़ील्ड हैं. मूल वर्शन, NullableDuration के लिए इनपुट के तौर पर सिर्फ़ स्ट्रिंग को स्वीकार करता है और अब उसे रोक दिया गया है. कृपया V2 वर्शन इस्तेमाल करें, जो अवधि टाइप को संख्या वाले इनपुट से बदल देता है. उदाहरण के लिए, उपयोगकर्ता सेशन की ज़्यादा से ज़्यादा अवधि को 10 मिनट पर सेट करने के लिए, हमें नीचे दिया गया अनुरोध भेजना होगा:

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

एक साथ कई नीतियों में बदलाव करें

batchModify तरीके का इस्तेमाल करके, नीति में किए गए एक से ज़्यादा बदलाव एक साथ किए जा सकते हैं. हालांकि, सभी नीतियों को एक साथ लागू नहीं किया जा सकता. ज़्यादा जानकारी के लिए, एक साथ कई अपडेट करने से जुड़ी नीतियां देखें.

इस उदाहरण में हम एक ही अनुरोध में, एक ही प्रिंटर के लिए दो अलग-अलग नीतियों (chrome.printers.AllowForDevices और chrome.printers.AllowForUsers) में बदलाव करेंगे.

संगठन की एक इकाई के लिए, यह उदाहरण देखें. ग्रुप के लिए अनुरोध समान होगा, लेकिन targetResource के अलावा, जिसमें आईडी से पहले "orgunits/" के बजाय "groups/" होगा.

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

संगठन की इकाई में नीति की वैल्यू इनहेरिट करें

batchInherit तरीके से, संगठन की किसी इकाई में नीति के स्टेटस को "स्थानीय तौर पर लागू की गई" से "इनहेरिट की गई" में बदला जा सकता है. लोकल वैल्यू मिटा दी जाएंगी. साथ ही, लागू होने पर नीति, पैरंट संगठन की इकाई की वैल्यू इनहेरिट करेगी.

batchInherit तरीके से आपको एक ही समय में नीति इनहेरिट करने के कई अनुरोध भेजने की सुविधा भी मिलती है. हालांकि, सभी नीतियों को एक साथ लागू नहीं किया जा सकता. ज़्यादा जानकारी के लिए, एक साथ कई अपडेट करने से जुड़ी नीतियां देखें.

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

किसी ग्रुप में, नीति की किसी वैल्यू को मिटाना

batchDelete तरीका आपको ग्रुप से किसी नीति को मिटाने की अनुमति देता है. लोकल वैल्यू मिटा दी जाएंगी.

batchDelete तरीके से, नीति को मिटाने के कई अनुरोध एक साथ भेजे जा सकते हैं. हालांकि, सभी नीतियों को एक साथ लागू नहीं किया जा सकता. ज़्यादा जानकारी के लिए, एक साथ कई अपडेट करने से जुड़ी नीतियां देखें.

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

किसी ग्रुप के लिए प्राथमिकता के क्रम की सूची बनाना

listGroupPriorityOrdering तरीका आपको किसी ऐप्लिकेशन के लिए, Groups में प्राथमिकता के क्रम की सूची बनाने की सुविधा देता है.

दिखाए जाने वाले ग्रुप आईडी का क्रम उस प्राथमिकता को दिखाता है जिसमें ऐप्लिकेशन पर उनकी सेटिंग लागू होंगी. बाद के आईडी की नीतियों को उन नीतियों से बदल दिया जाएगा जिनके आईडी सूची में पहले से मौजूद हैं.

ध्यान रखें कि ग्रुप की प्राथमिकताएं, संगठन की इकाई की प्राथमिकताओं से ज़्यादा हैं.

इस अनुरोध में, हम "exampleapp" Chrome उपयोगकर्ता ऐप्लिकेशन के लिए प्राथमिकता क्रम लौटा रहे हैं.

अनुरोध

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"

जवाब

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

किसी ग्रुप के लिए प्राथमिकता के क्रम को अपडेट करना

updateGroupPriorityOrdering तरीके से, किसी ऐप्लिकेशन के लिए Groups की प्राथमिकता के क्रम को अपडेट किया जा सकता है.

अनुरोध में मौजूद ग्रुप आईडी का क्रम उस प्राथमिकता को दिखाता है जिसमें ऐप्लिकेशन पर उनकी सेटिंग लागू होंगी. बाद के आईडी की नीतियों को उन नीतियों से बदल दिया जाएगा जिनके आईडी सूची में पहले से मौजूद हैं. अनुरोध में, ऐप्लिकेशन पर अभी लागू सभी ग्रुप आईडी शामिल होना चाहिए.

ध्यान रखें कि ग्रुप की प्राथमिकताएं, संगठन की इकाई की प्राथमिकताओं से ज़्यादा हैं.

इस अनुरोध में, हम "exampleapp" Chrome उपयोगकर्ता ऐप के लिए प्राथमिकता क्रम सेट कर रहे हैं.

अनुरोध

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"

जवाब

कामयाब जवाब वाला फ़ील्ड खाली है.

{}

हैंडलिंग की वे नीतियां जिन्हें स्वीकार करना ज़रूरी है

कुछ नीति स्कीमा, किसी खास फ़ील्ड की कुछ ऐसी वैल्यू के लिए 'सूचनाएं' दिखाते हैं जिन्हें स्वीकार करना ज़रूरी होता है.

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

ऊपर दिए गए उदाहरण में, फ़ील्ड pluginVmAllowed की वैल्यू को true पर सेट करने से acknowledgementRequired वाले नोटिस से जोड़ा गया है. इस फ़ील्ड की वैल्यू को सही तरीके से true पर सेट करने के लिए, आपको एक अनुरोध भेजना होगा जो true से ackNoticeForPluginVmAllowedSetToTrue के लिए, स्वीकार करने वाले फ़ील्ड के बारे में बताता है. ऐसा न करने पर, आपको अपने अनुरोध में गड़बड़ी मिलेगी.

इस उदाहरण में, आपको नीचे दिया गया बैच बदलाव करने का अनुरोध भेजना होगा.

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"

फ़ाइल की नीतियां सेट की जा रही हैं

कुछ नीतियों के फ़ील्ड UploadedFile के रूप में टाइप किए जाते हैं. BatchModify अनुरोधों में इस्तेमाल करने के लिए यूआरएल पाने के लिए, आपको उस फ़ाइल को एपीआई सर्वर पर अपलोड करना होगा जिसे आप उन नीतियों की वैल्यू के तौर पर सेट करना चाहते हैं.

इस उदाहरण में हम JPEG फ़ाइल अपलोड करके chrome.users.Wallpaper सेट करेंगे.

फ़ाइल अपलोड करें

अनुरोध

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"

जवाब

सही जवाब में फ़ाइल को ऐक्सेस करने वाला यूआरएल होना चाहिए:

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

फ़ाइल की नीति सेट करना

अनुरोध

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"

जवाब

स्वीकार किए गए जवाब को खाली छोड़ा जाना चाहिए.

{}