कोड सैंपल

नीचे दिए गए अनुरोध, पारदर्शिता एपीआई की मदद से नीति को मैनेज करने के बारे में बताते हैं. इससे पहले तो 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 मौजूद नहीं है या जवाब खाली है, तो इसका मतलब है कि नीति को ग्राहक के लिए सेट नहीं किया गया है. साथ ही, इसका सिस्टम डिफ़ॉल्ट मान है.

Groups के लिए, sourceKey हमेशा उस Group के जैसा ही रहेगा अनुरोध में बताई गई है.

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

अनुरोध

  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 को छोड़कर, जिसमें "groups/" होगा के बजाय "orgunits/" दर्ज करें.

अनुरोध

  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 तय करना होगा. मास्क की सूची अपडेट करें उन फ़ील्ड में दिखाई देगा, जिन्हें हम संशोधित करना चाहते हैं. अगर नीति को पहले से ही तो संगठन की इकाई का इस्तेमाल करने पर, अपडेट मास्क से लिस्ट नहीं किए गए फ़ील्ड उन्हें कोई दिक्कत नहीं है. अगर नीति पहले से ही संगठन की इकाई और वे सभी फ़ील्ड जो अपडेट मास्क के ज़रिए सूची में शामिल नहीं हैं, वे जहां ज़रूरी हो, संगठन की पैरंट इकाई से उनकी वैल्यू कॉपी करें और पूरी नीति स्थानीय तौर पर लागू हो जाएगी.

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

अनुरोध

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, ...].

उदाहरण के लिए, ऐप्लिकेशन और एक्सटेंशन पैकेज के स्रोत url को इस रूप में सेट करने के लिए "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 के लिए इनपुट के तौर पर सिर्फ़ स्ट्रिंग स्वीकार करता है और अब है बंद कर दिया गया है. कृपया वर्शन 2 का इस्तेमाल करें. यह अवधि टाइप को न्यूमेरिक इनपुट. उदाहरण के लिए, उपयोगकर्ता के सेशन की ज़्यादा से ज़्यादा अवधि 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 को छोड़कर, जिसमें "groups/" होगा के बजाय "orgunits/" दर्ज करें.

अनुरोध

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 विधि से आप किसी ऐप्लिकेशन के लिए समूहों के प्राथमिकता क्रम को सूचीबद्ध कर सकते हैं.

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

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

इस अनुरोध में, हम "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 विधि आपको किसी ऐप्लिकेशन के लिए समूहों के प्राथमिकता क्रम को अपडेट करने देती है.

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

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

इस अनुरोध में, हम "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 अनुरोधों में इस्तेमाल करने के लिए यूआरएल मिल सके.

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

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

अनुरोध

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"

जवाब

सफल जवाब वाला फ़ील्ड खाली होना चाहिए.

{}