Macros: update

Requer autorização

Atualiza um Macro do GTM. Faça um teste agora ou veja um exemplo.

Solicitação

Solicitação HTTP

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

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de caminho
accountId string Código do Account do GTM.
containerId string Código do Container do GTM.
macroId string Código do Macro do GTM.
Parâmetros de consulta opcionais
fingerprint string Quando fornecida, essa impressão digital precisa corresponder àquela da macro armazenada.

Autorização

Essa solicitação requer uma autorização com o escopo a seguir (mais informações sobre autenticação e autorização).

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

Corpo da solicitação

No corpo da solicitação, forneça um recurso Macros com as seguintes propriedades:

Nome da propriedade Valor Descrição Observações
Propriedades obrigatórias
parameter[].type string Tipo de parâmetro. Os valores válidos são:
  • boolean: o valor representa um booleano, exibido como "true" ou "false"
  • integer: o valor representa um número inteiro assinado com 64 bits e de formato decimal
  • list: uma lista de parâmetros precisa ser especificada
  • map: um mapa de parâmetros precisa ser especificado
  • template: o valor representa qualquer texto e pode incluir referências de macro, até mesmo aquelas que podem retornar tipos que não são strings.


Estes são os valores aceitáveis:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
gravável
type string Tipo de Macro do GTM. gravável
Propriedades opcionais
disablingRuleId[] list Apenas para contêineres para dispositivos móveis: uma lista de códigos de regras para macros condicionais de desativação. A macro será ativada se uma das regras de ativação tiver o valor "true" e todas as regras de desativação tiverem o valor "false". Tratado como um conjunto não ordenado. gravável
enablingRuleId[] list Apenas para contêineres para dispositivos móveis: uma lista de códigos de regras para macros condicionais de ativação. A macro será ativada se uma das regras de ativação tiver o valor "true" e todas as regras de desativação tiverem o valor "false". Tratado como um conjunto não ordenado. gravável
name string Nome de exibição da macro. gravável
notes string Observações para os usuários sobre como aplicar essa macro no contêiner. gravável
parameter[] list Parâmetros da macro. gravável
parameter[].key string Chave nomeada que identifica um parâmetro de forma única. Obrigatório para parâmetros de nível superior, bem como para valores de mapa. Ignorado para valores de lista. gravável
parameter[].list[] list Parâmetros dessa lista (as chaves são ignoradas). gravável
parameter[].map[] list Parâmetros desse mapa (é necessário ter chaves únicas). gravável
parameter[].value string Valor de um parâmetro (pode conter referências de macros, como ""), conforme apropriado para o tipo especificado. gravável
scheduleEndMs long A data e hora de término em milissegundos para agendar uma macro. gravável
scheduleStartMs long A data e hora de início em milissegundos para agendar uma macro. gravável

Resposta

Se bem-sucedido, este método retornará um recurso Macros no corpo da resposta.

Exemplos

Observação: os exemplos de código disponíveis para esse método não representam todas as linguagens de programação compatíveis. Consulte a página de bibliotecas cliente para ver uma lista de linguagens compatíveis.

Java

Usa a 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 a 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')

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.