Rules: create

نیاز به مجوز دارد

یک قانون GTM ایجاد می کند. اکنون آن را امتحان کنید یا نمونه ای را ببینید .

درخواست

درخواست HTTP

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

مولفه های

نام پارامتر ارزش شرح
پارامترهای مسیر
accountId string شناسه حساب GTM.
containerId string شناسه کانتینر GTM.

مجوز

این درخواست به مجوز با محدوده زیر نیاز دارد ( در مورد احراز هویت و مجوز بیشتر بخوانید ).

محدوده
https://www.googleapis.com/auth/tagmanager.edit.containers

درخواست بدن

در بدنه درخواست، یک منبع Rules با ویژگی های زیر ارائه کنید:

نام ملک ارزش شرح یادداشت
خواص مورد نیاز
condition[]. parameter[] list لیستی از پارامترهای نامگذاری شده (کلید/مقدار)، بسته به نوع شرایط. یادداشت:
  • برای عملگرهای باینری، پارامترهایی به نام‌های arg0 و arg1 را برای تعیین عملوند چپ و راست به ترتیب درج کنید.
  • در این زمان، عملوند سمت چپ ( arg0 ) باید مرجع یک ماکرو باشد.
  • برای تطبیق Regex غیر حساس به حروف بزرگ، یک پارامتر بولی به نام ignore_case که روی true تنظیم شده است، اضافه کنید. اگر مقدار دیگری مشخص یا تنظیم نشده باشد، تطبیق به حروف بزرگ و کوچک حساس خواهد بود.
  • برای نفی یک عملگر، یک پارامتر بولی به نام negate اضافه کنید و آن را روی true تنظیم کنید.
قابل نوشتن
condition[].parameter[]. type string نوع پارامتر مقادیر معتبر عبارتند از:
  • boolean : مقدار یک بولی را نشان می دهد که به صورت "درست" یا "نادرست" نمایش داده می شود.
  • integer : این مقدار یک مقدار عدد صحیح امضا شده 64 بیتی را در پایه 10 نشان می دهد
  • list : لیستی از پارامترها باید مشخص شود
  • map : یک نقشه از پارامترها باید مشخص شود
  • template : مقدار هر متنی را نشان می دهد. این می تواند شامل ارجاعات کلان باشد (حتی مراجع کلان که ممکن است انواع غیر رشته ای را برگردانند)


مقادیر قابل قبول عبارتند از:
  • " boolean "
  • " integer "
  • " list "
  • " map "
  • " template "
قابل نوشتن
condition[]. type string نوع اپراتور برای این شرایط.

مقادیر قابل قبول عبارتند از:
  • " contains "
  • " cssSelector "
  • " endsWith "
  • " equals "
  • " greater "
  • " greaterOrEquals "
  • " less "
  • " lessOrEquals "
  • " matchRegex "
  • " startsWith "
  • " urlMatches "
قابل نوشتن
name string نام نمایش قانون قابل نوشتن
ویژگی های اختیاری
condition[] list فهرست شرایطی که این قانون را تشکیل می‌دهند (و ضمنی بین آنها). قابل نوشتن
condition[].parameter[]. key string کلید نامگذاری شده که به طور منحصر به فرد یک پارامتر را شناسایی می کند. برای پارامترهای سطح بالا و همچنین مقادیر نقشه مورد نیاز است. برای مقادیر لیست نادیده گرفته شد. قابل نوشتن
condition[].parameter[]. list[] list پارامترهای این پارامتر فهرست (کلیدها نادیده گرفته خواهند شد). قابل نوشتن
condition[].parameter[]. map[] list پارامترهای این پارامتر نقشه (باید کلید داشته باشد؛ کلیدها باید منحصر به فرد باشند). قابل نوشتن
condition[].parameter[]. value string مقدار یک پارامتر (ممکن است حاوی ارجاعات کلان مانند "") متناسب با نوع مشخص شده باشد. قابل نوشتن
notes string یادداشت های کاربر در مورد نحوه اعمال این قانون در ظرف. قابل نوشتن

واکنش

در صورت موفقیت آمیز بودن، این روش یک منبع Rules را در بدنه پاسخ باز می گرداند.

مثال ها

توجه: نمونه‌های کد موجود برای این روش همه زبان‌های برنامه‌نویسی پشتیبانی‌شده را نشان نمی‌دهند (برای فهرست زبان‌های پشتیبانی‌شده به صفحه کتابخانه‌های سرویس گیرنده مراجعه کنید).

جاوا

از کتابخانه سرویس گیرنده جاوا استفاده می کند.

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

/*
 * This request creates a new 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("Ends With Rule");
rule.setCondition(Arrays.asList(condition));

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

/*
 * The results of the create method are stored in the response object.
 * The following code shows how to access the created Id and Fingerprint.
 */
System.out.println("Rule Id = " + response.getRuleId());
System.out.println("Rule Fingerprint = " + response.getFingerprint());

پایتون

از کتابخانه کلاینت پایتون استفاده می کند.

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

# This request creates a new rule for the authorized user.
try:
  response = tagmanager.accounts().containers().rules().create(
      accountId='123456',
      containerId='54321',
      body={
          'name': '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 create method are stored in the response object.
# The following code shows how to access the created id and fingerprint.
print 'Rule Id = %s' % response.get('ruleId')
print 'Rule Fingerprint = %s' % response.get('fingerprint')

آن را امتحان کنید!

از APIs Explorer زیر برای فراخوانی این روش در داده‌های زنده و دیدن پاسخ استفاده کنید.