Rules: update

Autorisation requise

Met à jour une règle GTM. Essayez maintenant ou consultez un exemple.

Requête

Requête HTTP

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

Paramètres

Nom du paramètre Valeur Description
Paramètres de chemin d'accès
accountId string ID du compte GTM.
containerId string ID du conteneur GTM.
ruleId string ID de la règle GTM.
Paramètres de requête facultatifs
fingerprint string Lorsqu'elle est fournie, cette empreinte doit correspondre à l'empreinte de la règle dans l'espace de stockage.

Autorisation

Une autorisation est requise pour cette requête. Celle-ci doit inclure le champ d'application suivant (en savoir plus sur le processus d'authentification et d'autorisation).

Définition du champ d'application
https://www.googleapis.com/auth/tagmanager.edit.containers

Corps de la requête

Dans le corps de la requête, indiquez une ressource de règles avec les propriétés suivantes:

Nom de propriété Valeur Description Remarques
Propriétés obligatoires
condition[].parameter[] list Une liste de paramètres nommés (clé/valeur), en fonction du type de la condition. Remarques:
  • Pour les opérateurs binaires, incluez des paramètres nommés arg0 et arg1 afin de spécifier les opérandes de gauche et de droite, respectivement.
  • Pour le moment, l'opérande de gauche (arg0) doit être une référence à une macro.
  • Pour une correspondance avec expression régulière non sensible à la casse, incluez un paramètre booléen nommé ignore_case défini sur true. Si elle n'est pas spécifiée ou définie sur une autre valeur, la correspondance est sensible à la casse.
  • Pour exclure un opérateur, incluez un paramètre booléen nommé negate et définissez-le sur true.
accessible en écriture
condition[].parameter[].type string Type de paramètre. Voici les valeurs possibles:
  • boolean: la valeur représente une valeur booléenne, représentée par "true" ou "false".
  • integer: la valeur représente un entier signé de 64 bits en base 10
  • list: une liste de paramètres doit être spécifiée.
  • map: un mappage des paramètres doit être spécifié.
  • template: la valeur représente n'importe quel texte. Cela peut inclure des références de macro (même des références de macro pouvant renvoyer des types autres que des chaînes)


Valeurs acceptées :
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
accessible en écriture
condition[].type string Type d'opérateur pour cette condition.

Valeurs acceptées :
  • "contains"
  • "cssSelector"
  • "endsWith"
  • "equals"
  • "greater"
  • "greaterOrEquals"
  • "less"
  • "lessOrEquals"
  • "matchRegex"
  • "startsWith"
  • "urlMatches"
accessible en écriture
Propriétés facultatives
condition[] list Liste des conditions qui composent cette règle (opérateur AND implicite entre elles). accessible en écriture
condition[].parameter[].key string Clé nommée qui identifie un paramètre de manière unique. Obligatoire pour les paramètres de niveau supérieur ainsi que pour les valeurs de mappage. Ignoré pour les valeurs de liste. accessible en écriture
condition[].parameter[].list[] list Paramètres de ce paramètre de liste (les clés seront ignorées). accessible en écriture
condition[].parameter[].map[] list Paramètres de ce paramètre de mappage (clés et clés doivent être uniques). accessible en écriture
condition[].parameter[].value string Valeur d'un paramètre (peut contenir des références de macro telles que ""), selon le type spécifié. accessible en écriture
name string Nom à afficher de la règle. accessible en écriture
notes string Notes de l'utilisateur sur la manière d'appliquer cette règle dans le conteneur accessible en écriture

Réponse

Lorsque cette méthode fonctionne, elle renvoie une ressource de règles dans le corps de la réponse.

Exemples

Remarque : Les langages de programmation compatibles ne figurent pas tous dans les exemples de code présentés pour cette méthode (consultez la page Bibliothèques clientes pour obtenir la liste des langages compatibles).

Java

Utilise la bibliothèque cliente Java.

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

/*
 * This request updates an existing 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("Updated Rule");
rule.setCondition(Arrays.asList(condition));

try {
  Rule response = tagmanager.accounts().containers().
      rules().update("123456", "54321", "2", rule).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

Utilise la bibliothèque cliente Python.

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

# This request updates an existing rule for the authorized user.
try:
  response = tagmanager.accounts().containers().rules().update(
      accountId='123456',
      containerId='54321',
      ruleId='2',
      body={
          'name': 'Updated 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 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')

Essayer

Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.