Macros: update

Yetkilendirme gerektirir

Bir GTM makrosu günceller. Hemen deneyin veya bir örneğe göz atın.

İstek

HTTP isteği

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

Parametreler

Parametre adı Değer Açıklama
Yol parametreleri
accountId string GTM Hesap Kimliği.
containerId string GTM Kapsayıcı Kimliği.
macroId string Google Etiket Yöneticisi Makro Kimliği.
İsteğe bağlı sorgu parametreleri
fingerprint string Sağlandığında bu parmak izi, depolama alanındaki makronun parmak iziyle eşleşmelidir.

Yetkilendirme

Bu istek, aşağıdaki kapsamla yetkilendirme gerektirir (kimlik doğrulama ve yetkilendirme hakkında daha fazla bilgi edinin).

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

İstek içeriği

İstek gövdesinde, aşağıdaki özelliklere sahip bir Makrolar kaynağı sağlayın:

Mülk adı Değer Açıklama Notlar
Zorunlu mülkler
parameter[].type string Parametre türü. Geçerli değerler şunlardır:
  • boolean: Değer, "true" veya "false" olarak temsil edilen bir boole'yi temsil eder
  • integer: Değer, 10 tabanında 64 bit imzalı bir tam sayı değerini temsil eder
  • list: Parametre listesi belirtilmelidir
  • map: Bir parametre eşlemesi belirtilmelidir
  • template: Değer herhangi bir metni temsil eder. Bu, makro referanslarını (dize olmayan türler döndürebilen makro referanslarını bile) içerebilir.


Kabul edilebilir değerler şunlardır:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
yazılabilir
type string Google Etiket Yöneticisi Makro Türü. yazılabilir
İsteğe Bağlı Özellikler
disablingRuleId[] list Yalnızca mobil kapsayıcılar için: Koşullu makroları devre dışı bırakmak için kural kimliklerinin listesi. Makro, etkinleştiren kurallardan biri doğruysa, devre dışı bırakan tüm kurallar yanlışsa makro etkinleştirilir. Sıralanmamış bir grup olarak ele alındı. yazılabilir
enablingRuleId[] list Yalnızca mobil kapsayıcılar için: Koşullu makroları etkinleştirmek için kural kimliklerinin listesi. Etkinleştiren kurallardan biri doğru, devre dışı bırakan tüm kurallar yanlış ise makro etkinleştirilir. Sıralanmamış bir grup olarak ele alındı. yazılabilir
name string Makronun görünen adı. yazılabilir
notes string Bu makronun kapsayıcıya nasıl uygulanacağına ilişkin kullanıcı notları. yazılabilir
parameter[] list Makronun parametreleri. yazılabilir
parameter[].key string Bir parametreyi benzersiz şekilde tanımlayan adlandırılmış anahtar. Harita değerleri ve üst düzey parametreler için gereklidir. Liste değerleri için yoksayılır. yazılabilir
parameter[].list[] list Bu liste parametresinin parametreleri (anahtarlar yoksayılır). yazılabilir
parameter[].map[] list Bu eşleme parametresinin parametreleri (anahtar içermelidir, anahtarlar benzersiz olmalıdır). yazılabilir
parameter[].value string Bir parametrenin değeri (belirtilen türe uygun olduğu şekilde, "" gibi makro referansları içerebilir). yazılabilir
scheduleEndMs long Bir makroyu programlamak için milisaniye cinsinden bitiş zaman damgası. yazılabilir
scheduleStartMs long Bir makroyu programlamak için milisaniye cinsinden başlangıç zaman damgası. yazılabilir

Yanıt

Başarılı olursa bu yöntem, yanıt gövdesinde bir Makrolar kaynağı döndürür.

Örnekler

Not: Bu yöntem için kullanıma sunulan kod örnekleri, desteklenen tüm programlama dillerini kapsamaz (Desteklenen dillerin listesi için istemci kitaplıkları sayfasını inceleyin).

Java

Java istemci kitaplığı'nı kullanmalıdır.

/*
 * 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

Python istemci kitaplığı'nı kullanır.

# 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')

Deneyin.

Aşağıdaki API Gezgini'ni kullanarak canlı verilerde bu yöntemi çağırın ve yanıtı görün.