Rules: update

इसके लिए, अनुमति लेना ज़रूरी है

GTM नियम को अपडेट करता है. इसे अभी आज़माएं या उदाहरण देखें.

अनुरोध

एचटीटीपी अनुरोध

PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/rules/ruleId

पैरामीटर

पैरामीटर का नाम वैल्यू ब्यौरा
पाथ पैरामीटर
accountId string GTM खाता आईडी.
containerId string GTM कंटेनर आईडी.
ruleId string GTM नियम का आईडी.
वैकल्पिक क्वेरी पैरामीटर
fingerprint string अगर यह फ़िंगरप्रिंट दिया जाता है, तो इसे स्टोरेज में मौजूद नियम के फ़िंगरप्रिंट से मेल खाना चाहिए.

अनुमति देना

इस अनुरोध के लिए नीचे दिए गए दायरे के साथ अनुमति की ज़रूरत है (पुष्टि करने और अनुमति देने के बारे में ज़्यादा पढ़ें).

स्कोप
https://www.googleapis.com/auth/tagmanager.edit.containers

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, नीचे दी गई प्रॉपर्टी के साथ नियम से जुड़ा संसाधन दें:

प्रॉपर्टी का नाम वैल्यू ब्यौरा ज़रूरी जानकारी
ज़रूरी प्रॉपर्टी
condition[].parameter[] list स्थिति के टाइप के आधार पर, नाम वाले पैरामीटर (कुंजी/वैल्यू) की सूची. नोट:
  • बाइनरी ऑपरेटर के लिए, लेफ़्ट और राइट ऑपरेंड की जानकारी देने के लिए, arg0 और arg1 नाम वाले पैरामीटर शामिल करें.
  • इस समय, बायां ऑपरेंड (arg0) किसी मैक्रो का संदर्भ होना चाहिए.
  • केस-इनसेंसिटिव रेगुलर एक्सप्रेशन मिलान के लिए, ignore_case नाम का एक बूलियन पैरामीटर शामिल करें, जिसे true पर सेट किया गया हो. अगर कोई वैल्यू तय नहीं की गई है या किसी दूसरी वैल्यू पर सेट की गई है, तो मैचिंग केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) होगी.
  • किसी ऑपरेटर को नेगेटिव बनाने के लिए, negate नाम का एक बूलियन पैरामीटर शामिल करें और उसे true पर सेट करें.
लिखने योग्य
condition[].parameter[].type string पैरामीटर का टाइप. मान्य मान हैं:
  • boolean: वैल्यू एक बूलियन को दिखाती है, जिसे 'true' या 'false' के रूप में दिखाया जाता है
  • integer: यह वैल्यू, बेस 10 में साइन किए गए 64-बिट पूर्णांक की वैल्यू दिखाती है
  • list: पैरामीटर की सूची दी जानी चाहिए
  • map: पैरामीटर का मैप तय किया जाना चाहिए
  • template: मान किसी भी टेक्स्ट को दिखाता है; इसमें मैक्रो संदर्भ शामिल हो सकते हैं (यहां तक कि मैक्रो संदर्भ भी जो बिना स्ट्रिंग वाले प्रकार दिखा सकते हैं)


स्वीकार की जाने वाली वैल्यू हैं:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
लिखने योग्य
condition[].type string इस शर्त के लिए ऑपरेटर का टाइप.

स्वीकार की जाने वाली वैल्यू हैं:
  • "contains"
  • "cssSelector"
  • "endsWith"
  • "equals"
  • "greater"
  • "greaterOrEquals"
  • "less"
  • "lessOrEquals"
  • "matchRegex"
  • "startsWith"
  • "urlMatches"
लिखने योग्य
वैकल्पिक प्रॉपर्टी
condition[] list उन शर्तों की सूची जो यह नियम बनाती हैं (उनके बीच में AND इंप्लिसिट). लिखने योग्य
condition[].parameter[].key string नाम वाली कुंजी, जो किसी पैरामीटर की खास तौर पर पहचान करती है. टॉप-लेवल के पैरामीटर और मैप वैल्यू के लिए ज़रूरी है. सूची की वैल्यू के लिए अनदेखा किया जाता है. लिखने योग्य
condition[].parameter[].list[] list इस सूची में पैरामीटर के पैरामीटर (कुंजी को अनदेखा कर दिया जाएगा). लिखने योग्य
condition[].parameter[].map[] list इस मैप पैरामीटर के पैरामीटर (कुंजियां होनी चाहिए; कुंजियां यूनीक होनी चाहिए). लिखने योग्य
condition[].parameter[].value string पैरामीटर का मान (इसमें " जैसे मैक्रो संदर्भ शामिल हो सकते हैं") जो दिए गए टाइप के हिसाब से सही हैं. लिखने योग्य
name string नियम का डिसप्ले नेम. लिखने योग्य
notes string कंटेनर में इस नियम को लागू करने के तरीके के बारे में उपयोगकर्ता की जानकारी. लिखने योग्य

जवाब

कामयाब होने पर, यह तरीका रिस्पॉन्स के मुख्य हिस्से में नियम की जानकारी दिखाता है.

उदाहरण

ध्यान दें: इस तरीके के लिए दिए गए कोड के उदाहरणों में इसके साथ काम करने वाली सभी प्रोग्रामिंग भाषाएं नहीं दिखाई गई हैं (इसके साथ काम करने वाली भाषाओं की सूची के लिए क्लाइंट लाइब्रेरी वाला पेज देखें).

Java

Java क्लाइंट लाइब्रेरी का इस्तेमाल करता है.

/*
 * Note: This code assumes you have an authorized tagmanager service object.
 */

/*
 * This request updates an existing rule for the authorized user.
 */

// Construct the condition parameters.
Parameter arg0 = new Parameter();
arg0.setType("template");
arg0.setKey("arg0");
arg0.setValue("{{url}}");

Parameter arg1 = new Parameter();
arg1.setType("template");
arg1.setKey("arg1");
arg1.setValue(".*hellowworld.html");

// Construct the condition object
Condition condition = new Condition();
condition.setType("endsWith");
condition.setParameter(Arrays.asList(arg0, arg1));

// Construct the rule object.
Rule rule = new Rule();
rule.setName("Updated Rule");
rule.setCondition(Arrays.asList(condition));

try {
  Rule response = tagmanager.accounts().containers().
      rules().update("123456", "54321", "2", rule).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

/*
 * The results of the update method are stored in the response object.
 * The following code shows how to access the updated name and fingerprint.
 */
System.out.println("Updated Name = " + response.getName());
System.out.println("Updated Fingerprint = " + response.getFingerprint());

Python

Python क्लाइंट लाइब्रेरी का इस्तेमाल करता हो.

# Note: This code assumes you have an authorized tagmanager service object.

# This request updates an existing rule for the authorized user.
try:
  response = tagmanager.accounts().containers().rules().update(
      accountId='123456',
      containerId='54321',
      ruleId='2',
      body={
          'name': 'Updated Ends with Rule',
          'condition': [
              {
                  'type': 'endsWith',
                  'parameter': [
                      {
                          'type': 'template',
                          'key': 'arg0',
                          'value': '{{url}}'
                      },
                      {
                          'type': 'template',
                          'key': 'arg1',
                          'value': '.*hellowworld.html'
                      }
                  ]
              }
          ]
      }
  ).execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print 'There was an error in constructing your query : %s' % error

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason))

# The results of the update method are stored in the response object.
# The following code shows how to access the updated name and fingerprint.
print 'Updated Name = %s' % response.get('name')
print 'Updated Fingerprint = %s' % response.get('fingerprint')

इसे आज़माएं!

इस तरीके को लाइव डेटा पर कॉल करने और रिस्पॉन्स देखने के लिए, नीचे दिए गए एपीआई एक्सप्लोरर का इस्तेमाल करें.