Macros: update

Cần có sự cho phép

Cập nhật macro GTM. Thử ngay hoặc xem ví dụ.

Yêu cầu

Yêu cầu HTTP

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

Các tham số

Tên thông số Giá trị Nội dung mô tả
Tham số đường dẫn
accountId string Mã tài khoản GTM.
containerId string Mã vùng chứa Trình quản lý thẻ của Google (GTM).
macroId string Mã macro GTM.
Tham số truy vấn không bắt buộc
fingerprint string Khi được cung cấp, vân tay số này phải khớp với vân tay số của macro trong bộ nhớ.

Ủy quyền

Yêu cầu này cần được uỷ quyền với phạm vi sau (đọc thêm về quy trình xác thực và uỷ quyền).

Phạm vi
https://www.googleapis.com/auth/tagmanager.edit.containers

Nội dung yêu cầu

Trong nội dung yêu cầu, hãy cung cấp tài nguyên Macro có các thuộc tính sau:

Tên tài sản Giá trị Nội dung mô tả Ghi chú
Thuộc tính bắt buộc
parameter[].type string Loại tham số. Các giá trị hợp lệ là:
  • boolean: Giá trị đại diện cho một boolean, được biểu thị dưới dạng "true" hoặc "false"
  • integer: Giá trị này biểu thị giá trị số nguyên 64 bit đã ký, ở cơ số 10
  • list: Danh sách các thông số phải được chỉ định
  • map: Bản đồ các tham số phải được chỉ định
  • template: Giá trị đại diện cho văn bản bất kỳ; giá trị này có thể bao gồm tài liệu tham khảo macro (thậm chí tham chiếu macro có thể trả về các loại không phải chuỗi)


Các giá trị được chấp nhận là:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
có thể ghi
type string Loại macro của Trình quản lý thẻ của Google (GTM). có thể ghi
Thuộc tính không bắt buộc
disablingRuleId[] list Chỉ đối với vùng chứa trên thiết bị di động: Danh sách ID quy tắc để tắt macro có điều kiện; macro được bật nếu một trong các quy tắc bật là đúng trong khi tất cả các quy tắc vô hiệu hóa là sai. Được coi là một tập hợp không theo thứ tự. có thể ghi
enablingRuleId[] list Chỉ dành cho vùng chứa di động: Danh sách ID quy tắc để bật macro có điều kiện; macro được bật nếu một trong các quy tắc bật là đúng trong khi tất cả các quy tắc vô hiệu hóa là sai. Được coi là một tập hợp không theo thứ tự. có thể ghi
name string Tên hiển thị macro. có thể ghi
notes string Ghi chú của người dùng về cách áp dụng macro này trong vùng chứa. có thể ghi
parameter[] list Tham số của macro. có thể ghi
parameter[].key string Khoá được đặt tên xác định duy nhất một tham số. Bắt buộc đối với các thông số cấp cao nhất, cũng như giá trị bản đồ. Bỏ qua đối với giá trị danh sách. có thể ghi
parameter[].list[] list Các tham số của tham số danh sách này (các khoá sẽ bị bỏ qua). có thể ghi
parameter[].map[] list Tham số của thông số bản đồ này (phải có khoá; các khoá phải là duy nhất). có thể ghi
parameter[].value string Giá trị của thông số (có thể chứa tài liệu tham khảo macro như "") nếu phù hợp với loại được chỉ định. có thể ghi
scheduleEndMs long Dấu thời gian kết thúc tính bằng mili giây để lên lịch macro. có thể ghi
scheduleStartMs long Dấu thời gian bắt đầu tính bằng mili giây để lên lịch macro. có thể ghi

Phản hồi

Nếu thành công, phương thức này sẽ trả về một tài nguyên Macro trong nội dung phản hồi.

Ví dụ

Lưu ý: Các đoạn mã mẫu của phương thức này không phải là ví dụ cho mọi ngôn ngữ lập trình được hỗ trợ (xem trang thông tin về các thư viện dùng cho ứng dụng để biết danh sách các ngôn ngữ được hỗ trợ).

Java

Sử dụng thư viện ứng dụng Java.

/*
 * 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());

Python

Dùng thư viện ứng dụng Python.

# 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')

Hãy dùng thử!

Hãy sử dụng APIs Explorer bên dưới để gọi phương thức này trên dữ liệu trực tiếp và xem phản hồi.