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:
Los valores aceptables son los siguientes:
|
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.