Rules: create

Cần có sự cho phép

Tạo quy tắc 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/rules

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 Quy tắc với 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
condition[].parameter[] list Danh sách thông số được đặt tên (khoá/giá trị), tuỳ thuộc vào loại điều kiện. Lưu ý:
  • Đối với toán tử nhị phân, hãy thêm các tham số có tên arg0arg1 để chỉ định toán hạng trái và phải tương ứng.
  • Vào thời điểm này, toán hạng bên trái (arg0) phải là tham chiếu đến macro.
  • Để khớp Regex không phân biệt chữ hoa chữ thường, hãy bao gồm một tham số boolean có tên ignore_case và được đặt thành true. Nếu không được chỉ định hoặc đặt thành bất kỳ giá trị nào khác, thì kết quả khớp sẽ phân biệt chữ hoa chữ thường.
  • Để phủ định một toán tử, hãy thêm tham số Boolean có tên negate rồi đặt tham số đó thành true.
có thể ghi
condition[].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
condition[].type string Loại toán tử cho điều kiện này.

Các giá trị có thể chấp nhận là:
  • "contains"
  • "cssSelector"
  • "endsWith"
  • "equals"
  • "greater"
  • "greaterOrEquals"
  • "less"
  • "lessOrEquals"
  • "matchRegex"
  • "startsWith"
  • "urlMatches"
có thể ghi
name string Tên hiển thị của quy tắc. có thể ghi
Thuộc tính không bắt buộc
condition[] list Danh sách các điều kiện tạo nên quy tắc này (ngầm ẩn AND giữa các điều kiện). có thể ghi
condition[].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
condition[].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
condition[].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
condition[].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
notes string Ghi chú của người dùng về cách áp dụng quy tắc này trong vùng chứa. có thể ghi

Phản hồi

Nếu thành công, phương thức này sẽ trả về tài nguyên Quy tắc 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 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());

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

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.