Rules:create

需要授权

创建 GTM 规则。 立即试用查看示例

请求

HTTP 请求

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

参数

参数名称 说明
路径参数
accountId string GTM 帐号 ID。
containerId string GTM 容器 ID。

授权

此请求需要获得下列范围的授权(详细了解身份验证和授权)。

范围
https://www.googleapis.com/auth/tagmanager.edit.containers

请求正文

在请求正文中,提供具有以下属性的 Rules 资源

属性名称 说明 备注
必需属性
condition[].parameter[] list 命名参数(即键值对)的列表,具体取决于条件的类型。注意:
  • 对于二元运算符,请添加名为 arg0arg1 的参数,分别用于指定左右操作数。
  • 此时,左操作数 (arg0) 必须是对宏的引用。
  • 对于不区分大小写的正则表达式匹配,请添加名为 ignore_case 且已设置为 true 的布尔值参数。如未指定该参数或已将其设置为任何其他值,则匹配将区分大小写。
  • 要使运算符无效,请加入名为 negate 的布尔值参数并将其设置为 true
可写入
condition[].parameter[].type string 参数类型。有效值包括:
  • boolean:该值表示布尔值,以“true”或“false”表示
  • integer:该值表示 64 位的正负十进制整数值
  • 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 构成此规则的条件的列表(这些条件之间存在隐式 AND 关系)。 可写入
condition[].parameter[].key string 唯一标识参数的命名键。对于顶级参数及映射值,该键属于必需项。但对于列表值,会忽略该键。 可写入
condition[].parameter[].list[] list 该列表参数的参数(键将被忽略)。 可写入
condition[].parameter[].map[] list 该映射参数的参数(必须提供键,且键必须具有唯一性)。 可写入
condition[].parameter[].value string 适用于指定类型的参数的值,可以包含宏引用,例如“{{myMacro}}”。 可写入
notes string 有关如何在容器中应用此规则的用户注释。 可写入

响应

如果成功,此方法将在响应正文中返回 Rules 资源

示例

注意:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。

Java

使用 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

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

试用一下!

请使用下面的 API Explorer 针对实际数据调用此方法,并查看响应。