Macros: update

Autorisation requise

Met à jour une macro GTM. Essayez maintenant ou consultez un exemple.

Requête

Requête HTTP

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

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.
macroId string ID de la macro GTM.
Paramètres de requête facultatifs
fingerprint string Lorsqu'elle est fournie, cette empreinte doit correspondre à l'empreinte de la macro 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 macros avec les propriétés suivantes:

Nom de propriété Valeur Description Remarques
Propriétés obligatoires
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
type string Type de macro GTM. accessible en écriture
Propriétés facultatives
disablingRuleId[] list Pour les conteneurs pour mobile uniquement: liste des ID des règles permettant de désactiver les macros conditionnelles. La macro est activée si l'une des règles d'activation est vraie alors que toutes les règles de désactivation sont fausses. Traitée comme un ensemble non ordonné. accessible en écriture
enablingRuleId[] list Pour les conteneurs pour mobile uniquement: liste des ID de règles permettant d'activer des macros conditionnelles. La macro est activée si l'une des règles d'activation est vraie alors que toutes les règles de désactivation sont fausses. Traitée comme un ensemble non ordonné. accessible en écriture
name string Nom d'affichage de la macro. accessible en écriture
notes string Notes de l'utilisateur sur la manière d'appliquer cette macro dans le conteneur accessible en écriture
parameter[] list Paramètres de la macro. accessible en écriture
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
parameter[].list[] list Paramètres de ce paramètre de liste (les clés seront ignorées). accessible en écriture
parameter[].map[] list Paramètres de ce paramètre de mappage (clés et clés doivent être uniques). accessible en écriture
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
scheduleEndMs long Code temporel de fin, en millisecondes, de la programmation d'une macro. accessible en écriture
scheduleStartMs long Code temporel de début, en millisecondes, pour programmer une macro. accessible en écriture

Réponse

Lorsque cette méthode fonctionne, elle renvoie une ressource "Macros" 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 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

Utilise la bibliothèque cliente 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')

Essayer

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