Macros: create

Cần có sự cho phép

Tạo macro GTM. Thử ngay hoặc xem ví dụ.

Yêu cầu

Yêu cầu HTTP

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

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).

Ủ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
name string Tên hiển thị macro. có thể ghi
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
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 creates a new macro for the authorized user.
 */

// Construct the macro object.
Macro macro = new Macro();
macro.setName("Sample 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().create("123456", "54321", macro).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("Macro Id = " + response.getMacroId());
System.out.println("Macro 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 creates a new macro for the authorized user.
try:
  response = tagmanager.accounts().containers().macros().create(
      accountId='123456',
      containerId='54321',
      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 create method are stored in the response object.
# The following code shows how to access the created id and fingerprint.
print 'Macro Id = %s' % response.get('macroId')
print 'Macro 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.