Rules: update

Wymaga autoryzacji

Aktualizuje regułę Menedżera tagów Google. Wypróbuj lub zobacz przykład.

Prośba

Żądanie HTTP

PUT https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/rules/ruleId

Parametry

Nazwa parametru Wartość Opis
Parametry ścieżki
accountId string Identyfikator konta Menedżera tagów Google.
containerId string Identyfikator kontenera Menedżera tagów Google.
ruleId string Identyfikator reguły Menedżera tagów Google.
Opcjonalne parametry zapytania
fingerprint string Jeśli ten odcisk cyfrowy jest podany, musi być zgodny z odciskiem cyfrowym reguły w pamięci masowej.

Upoważnienie

To żądanie wymaga autoryzacji z tym zakresem (więcej informacji o uwierzytelnianiu i autoryzacji).

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

Treść żądania

W treści żądania podaj zasób reguł z tymi właściwościami:

nazwa usługi, Wartość Opis Uwagi
Właściwości wymagane
condition[].parameter[] list Lista nazwanych parametrów (klucz/wartość) w zależności od typu warunku. Uwagi:
  • W przypadku operatorów binarnych uwzględnij parametry o nazwach arg0 i arg1, aby określić odpowiednio lewy i prawy operand.
  • Obecnie lewy operand (arg0) musi być odwołaniem do makra.
  • Aby nie rozróżniać wielkości liter w wyrażeniach regularnych, dodaj parametr logiczny o nazwie ignore_case ustawiony na true. Jeśli nie określisz żadnej wartości ani nie wybierzesz żadnej innej wartości, podczas dopasowywania rozróżniana będzie wielkość liter.
  • Aby zanegować operator, dołącz parametr logiczny o nazwie negate i ustaw go na true.
z możliwością zapisu
condition[].parameter[].type string Typ parametru. Prawidłowe wartości to:
  • boolean: wartość jest wartością logiczną „true” (prawda) lub „false” (fałsz).
  • integer: wartość przedstawia 64-bitową liczbę całkowitą ze znakiem w systemie 10
  • list: należy określić listę parametrów
  • map: należy określić mapę parametrów
  • template: wartość reprezentuje dowolny tekst; może to obejmować odwołania do makr (nawet odwołania do makr, które mogą zwracać typy niebędące ciągami znaków).


Akceptowane wartości:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
z możliwością zapisu
condition[].type string Typ operatora tego warunku.

Akceptowane wartości:
  • "contains"
  • "cssSelector"
  • "endsWith"
  • "equals"
  • "greater"
  • "greaterOrEquals"
  • "less"
  • "lessOrEquals"
  • "matchRegex"
  • "startsWith"
  • "urlMatches"
z możliwością zapisu
Właściwości opcjonalne
condition[] list Lista warunków, które składają się na tę regułę (między nimi ORAZ). z możliwością zapisu
condition[].parameter[].key string Nazwany klucz, który jednoznacznie identyfikuje parametr. Wymagane dla parametrów najwyższego poziomu oraz wartości mapy. Ignorowana w przypadku wartości list. z możliwością zapisu
condition[].parameter[].list[] list Parametry tego parametru listy (klucze będą ignorowane). z możliwością zapisu
condition[].parameter[].map[] list Parametry tego parametru mapy (muszą mieć klucze, a klucze muszą być unikalne). z możliwością zapisu
condition[].parameter[].value string Wartość parametru (może zawierać odwołania do makr, np. „”), odpowiednio do określonego typu. z możliwością zapisu
name string Wyświetlana nazwa reguły. z możliwością zapisu
notes string Uwagi użytkownika na temat stosowania tej reguły w kontenerze. z możliwością zapisu

Odpowiedź

Jeśli operacja się uda, metoda zwróci w treści odpowiedzi zasób reguł.

Przykłady

Uwaga: dostępne dla tej metody przykłady kodu nie odzwierciedlają wszystkich obsługiwanych języków programowania. Listę obsługiwanych języków znajdziesz na stronie z bibliotekami klienta.

Java

Korzysta z biblioteki klienta Java.

/*
 * Note: This code assumes you have an authorized tagmanager service object.
 */

/*
 * This request updates an existing rule for the authorized user.
 */

// Construct the condition parameters.
Parameter arg0 = new Parameter();
arg0.setType("template");
arg0.setKey("arg0");
arg0.setValue("{{url}}");

Parameter arg1 = new Parameter();
arg1.setType("template");
arg1.setKey("arg1");
arg1.setValue(".*hellowworld.html");

// Construct the condition object
Condition condition = new Condition();
condition.setType("endsWith");
condition.setParameter(Arrays.asList(arg0, arg1));

// Construct the rule object.
Rule rule = new Rule();
rule.setName("Updated Rule");
rule.setCondition(Arrays.asList(condition));

try {
  Rule response = tagmanager.accounts().containers().
      rules().update("123456", "54321", "2", rule).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

Używa biblioteki klienta dla języka Python.

# Note: This code assumes you have an authorized tagmanager service object.

# This request updates an existing rule for the authorized user.
try:
  response = tagmanager.accounts().containers().rules().update(
      accountId='123456',
      containerId='54321',
      ruleId='2',
      body={
          'name': 'Updated Ends with Rule',
          'condition': [
              {
                  'type': 'endsWith',
                  'parameter': [
                      {
                          'type': 'template',
                          'key': 'arg0',
                          'value': '{{url}}'
                      },
                      {
                          'type': 'template',
                          'key': 'arg1',
                          'value': '.*hellowworld.html'
                      }
                  ]
              }
          ]
      }
  ).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')

Wypróbuj

Użyj Eksploratora interfejsów API poniżej, aby wywołać tę metodę na aktywnych danych i zobaczyć odpowiedź.