Macros: update

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

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

درخواست

درخواست HTTP

PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/macros/macroId

مولفه های

نام پارامتر ارزش شرح
پارامترهای مسیر
accountId string شناسه حساب GTM.
containerId string شناسه کانتینر GTM.
macroId string شناسه ماکرو GTM
پارامترهای پرس و جو اختیاری
fingerprint string در صورت ارائه، این اثر انگشت باید با اثر انگشت ماکرو موجود در حافظه مطابقت داشته باشد.

مجوز

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

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

درخواست بدن

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

نام ملک ارزش شرح یادداشت
خواص مورد نیاز
parameter[]. type string نوع پارامتر مقادیر معتبر عبارتند از:
  • boolean : مقدار یک بولی را نشان می دهد که به صورت "درست" یا "نادرست" نمایش داده می شود.
  • integer : این مقدار یک مقدار عدد صحیح امضا شده 64 بیتی را در پایه 10 نشان می دهد
  • list : لیستی از پارامترها باید مشخص شود
  • map : یک نقشه از پارامترها باید مشخص شود
  • template : مقدار هر متنی را نشان می دهد. این می تواند شامل ارجاعات کلان باشد (حتی مراجع کلان که ممکن است انواع غیر رشته ای را برگردانند)


مقادیر قابل قبول عبارتند از:
  • " boolean "
  • " integer "
  • " list "
  • " map "
  • " template "
قابل نوشتن
type string نوع ماکرو GTM. قابل نوشتن
ویژگی های اختیاری
disablingRuleId[] list فقط برای کانتینرهای موبایل: فهرستی از شناسه‌های قانون برای غیرفعال کردن ماکروهای شرطی. اگر یکی از قوانین فعال کننده درست باشد، ماکرو فعال می شود در حالی که همه قوانین غیرفعال نادرست هستند. به عنوان یک مجموعه نامرتب رفتار می شود. قابل نوشتن
enablingRuleId[] list فقط برای کانتینرهای موبایل: فهرستی از شناسه‌های قانون برای فعال کردن ماکروهای شرطی. اگر یکی از قوانین فعال کننده درست باشد، ماکرو فعال می شود در حالی که همه قوانین غیرفعال نادرست هستند. به عنوان یک مجموعه نامرتب رفتار می شود. قابل نوشتن
name string نام نمایشی ماکرو قابل نوشتن
notes string یادداشت های کاربر در مورد نحوه اعمال این ماکرو در ظرف. قابل نوشتن
parameter[] list پارامترهای ماکرو قابل نوشتن
parameter[]. key string کلید نامگذاری شده که به طور منحصر به فرد یک پارامتر را شناسایی می کند. برای پارامترهای سطح بالا و همچنین مقادیر نقشه مورد نیاز است. برای مقادیر لیست نادیده گرفته شد. قابل نوشتن
parameter[]. list[] list پارامترهای این پارامتر فهرست (کلیدها نادیده گرفته خواهند شد). قابل نوشتن
parameter[]. map[] list پارامترهای این پارامتر نقشه (باید کلید داشته باشد؛ کلیدها باید منحصر به فرد باشند). قابل نوشتن
parameter[]. value string مقدار یک پارامتر (ممکن است حاوی ارجاعات کلان مانند "") متناسب با نوع مشخص شده باشد. قابل نوشتن
scheduleEndMs long مهر زمان پایان در میلی ثانیه برای برنامه ریزی یک ماکرو. قابل نوشتن
scheduleStartMs long مهر زمان شروع در میلی ثانیه برای برنامه ریزی یک ماکرو. قابل نوشتن

واکنش

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

مثال ها

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

جاوا

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

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

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

// Construct the macro object.
Macro macro = new Macro();
macro.setName("Updated URL Macro");
macro.setType("u");

// Construct the parameters.
Parameter arg0 = new Parameter();
arg0.setType("template");
arg0.setKey("component");
arg0.setValue("URL");

Parameter arg1 = new Parameter();
arg1.setType("template");
arg1.setKey("customUrlSource");
arg1.setValue("{{element}}");

// set the parameters on the macro.
macro.setParameter(Arrays.asList(arg0, arg1));

try {
  Macro response = tagmanager.accounts().containers().
      macros().update("123456", "54321", "18", macro).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());

پایتون

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

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

# This request updates an existing macro for the authorized user.
try:
  response = tagmanager.accounts().containers().macros().update(
      accountId='123456',
      containerId='54321',
      macroId='19',
      body={
          'name': 'Sample URL Macro',
          'type': 'u',
          'parameter': [
              {
                  'type': 'template',
                  'key': 'component',
                  'value': 'URL'
              },
              {
                  'type': 'template',
                  'key': 'customUrlSource',
                  'value': '{{element}}'
              }
          ]
      }
  ).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')

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

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