Macros: update

Требуется авторизация

Обновляет макрос GTM. Попробуйте сейчас или посмотрите пример .

Запрос

HTTP-запрос

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

Параметры

Имя параметра Ценить Описание
Параметры пути
accountId string Идентификатор аккаунта GTM.
containerId string Идентификатор контейнера GTM.
macroId string Идентификатор макроса GTM.
Необязательные параметры запроса
fingerprint string Если этот отпечаток предоставлен, он должен совпадать с отпечатком макроса в хранилище.

Авторизация

Этот запрос требует авторизации со следующей областью действия ( подробнее об аутентификации и авторизации читайте здесь ).

Объем
https://www.googleapis.com/auth/tagmanager.edit.containers

Тело запроса

В теле запроса укажите ресурс Macros со следующими свойствами:

Имя свойства Ценить Описание Примечания
Обязательные свойства
parameter[]. type string Тип параметра. Допустимые значения:
  • boolean : значение представляет собой логическое значение, представленное как «истина» или «ложь».
  • integer : значение представляет собой 64-битное целое число со знаком в базе 10.
  • list : необходимо указать список параметров.
  • map : должна быть указана карта параметров.
  • template : значение представляет любой текст; это может включать ссылки на макросы (даже ссылки на макросы, которые могут возвращать нестроковые типы)


Приемлемые значения:
  • " boolean "
  • " integer "
  • " list "
  • " map "
  • " template "
записываемый
type string Тип макроса GTM. записываемый
Дополнительные свойства
disablingRuleId[] list Только для мобильных контейнеров: список идентификаторов правил для отключения условных макросов; макрос включается, если одно из разрешающих правил истинно, а все запрещающие правила ложны. Рассматривается как неупорядоченное множество. записываемый
enablingRuleId[] list Только для мобильных контейнеров: список идентификаторов правил для включения условных макросов; макрос включается, если одно из разрешающих правил истинно, а все запрещающие правила ложны. Рассматривается как неупорядоченное множество. записываемый
name string Отображаемое имя макроса. записываемый
notes string Примечания пользователя о том, как применить этот макрос в контейнере. записываемый
parameter[] list Параметры макроса. записываемый
parameter[]. key string Именованный ключ, который однозначно идентифицирует параметр. Требуется для параметров верхнего уровня, а также значений карты. Игнорируется для значений списка. записываемый
parameter[]. list[] list Параметры этого списка параметров (ключи будут игнорироваться). записываемый
parameter[]. map[] list Параметры этого параметра карты (должны иметь ключи; ключи должны быть уникальными). записываемый
parameter[]. value string Значение параметра (может содержать ссылки на макросы, например «»), соответствующее указанному типу. записываемый
scheduleEndMs long Временная метка окончания в миллисекундах для планирования макроса. записываемый
scheduleStartMs long Начальная отметка времени в миллисекундах для планирования макроса. записываемый

Ответ

В случае успеха этот метод возвращает ресурс Macros в теле ответа.

Примеры

Примечание. Примеры кода, доступные для этого метода, не представляют все поддерживаемые языки программирования (список поддерживаемых языков см. на странице клиентских библиотек ).

Джава

Использует клиентскую библиотеку 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 .

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

Попробуй это!

Используйте API-интерфейс ниже, чтобы вызвать этот метод для реальных данных и просмотреть ответ.