Macros: update

Requiere autorización

Actualiza una macro de GTM. Pruébalo ahora y ve un ejemplo.

Solicitud

Solicitud HTTP

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

Parámetros

Nombre del parámetro Valor Descripción
Parámetros de ruta de acceso
accountId string El ID de la cuenta de GTM.
containerId string El ID del contenedor de GTM.
macroId string El ID de macro de GTM.
Parámetros de consulta opcionales
fingerprint string Cuando se proporciona, esta huella digital debe coincidir con la de la macro en el almacenamiento.

Autorización

Esta solicitud requiere autorización con el siguiente alcance (obtén más información sobre la autenticación y la autorización).

Permiso
https://www.googleapis.com/auth/tagmanager.edit.containers

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporciona un recurso de macros con las siguientes propiedades:

Nombre de la propiedad Valor Descripción Notas
Propiedades obligatorias
parameter[].type string Es el tipo de parámetro. Los valores válidos son los siguientes:
  • boolean: El valor representa un valor booleano, representado como "verdadero" o "falso".
  • integer: El valor representa un número entero de 64 bits con firma, en base 10.
  • list: Se debe especificar una lista de parámetros.
  • map: Se debe especificar un mapa de parámetros.
  • template: El valor representa cualquier texto. Puede incluir referencias de macros (incluso referencias de macros que podrían mostrar tipos que no sean de strings).


Los valores aceptables son los siguientes:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
admite escritura
type string Tipo de macro de GTM. admite escritura
Propiedades opcionales
disablingRuleId[] list Solo para contenedores móviles: Es una lista de IDs de reglas para inhabilitar macros condicionales. La macro se habilita si una de las reglas de habilitación es verdadera y todas las reglas de inhabilitación son falsas. Se trata como un conjunto sin ordenar. admite escritura
enablingRuleId[] list Solo para contenedores móviles: Es una lista de IDs de reglas para habilitar macros condicionales. La macro se habilita si una de las reglas de habilitación es verdadera, mientras que todas las reglas de inhabilitación son falsas. Se trata como un conjunto sin ordenar. admite escritura
name string Nombre visible de la macro. admite escritura
notes string Notas del usuario sobre cómo aplicar esta macro en el contenedor. admite escritura
parameter[] list Los parámetros de la macro admite escritura
parameter[].key string La clave con nombre que identifica un parámetro de forma única. Obligatorio para los parámetros de nivel superior, así como para los valores de mapa. Se ignora para los valores de lista. admite escritura
parameter[].list[] list Los parámetros de este parámetro de lista (se ignorarán las claves). admite escritura
parameter[].map[] list Los parámetros de este parámetro de mapa (deben tener claves; las claves deben ser únicas). admite escritura
parameter[].value string El valor de un parámetro (puede contener referencias de macro como "") según corresponda para el tipo especificado. admite escritura
scheduleEndMs long Es la marca de tiempo de finalización en milisegundos para programar una macro. admite escritura
scheduleStartMs long Es la marca de tiempo de inicio en milisegundos para programar una macro. admite escritura

Respuesta

Si se aplica correctamente, este método muestra un recurso de macros en el cuerpo de la respuesta.

Ejemplos

Nota: Los ejemplos de código disponibles para este método no representan todos los lenguajes de programación admitidos (consulta la página de bibliotecas cliente para consultar una lista de lenguajes admitidos).

Java

Usa la biblioteca cliente de 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

Usa la biblioteca cliente de 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')

Pruébala

Usa el Explorador de APIs que aparece a continuación para llamar a este método con datos en tiempo real y ver la respuesta.