Method: customers.googleAds.mutate

Tworzy, aktualizuje i usuwa zasoby. Ta metoda obsługuje szczegółowe transakcje z wieloma typami zasobów. Możesz na przykład utworzyć kampanię i budżet kampanii lub przeprowadzić do tysięcy mutacji atomowych.

Ta metoda polega głównie na serii metod przekształcania. Jedyna dostępna funkcja to:

  • Transakcje Atomic
  • Nazwy zasobów tymczasowych (opisane poniżej)
  • Trochę zmniejszony czas oczekiwania przez serię wywołań mutacji

Uwaga: uwzględniane są tylko zasoby, które obsługują transakcje poszczególne, więc ta metoda nie może zastąpić wszystkich wywołań poszczególnych usług.

Korzyści z transakcji Atomic

Niewielkość znacznie ułatwia obsługę błędów. Jeśli jedna z kilku zmian się nie powiedzie, Twoje konto może znaleźć się w niespójnym stanie. W przypadku niedostępności dociera się bezpośrednio do wybranego stanu albo żądanie się nie udaje i możesz spróbować ponownie.

Nazwy zasobów tymczasowych

Nazwy zasobów tymczasowych to specjalny typ nazwy zasobu używany do tworzenia zasobu i odwoływania się do niego w tym samym żądaniu. Jeśli np. utworzysz budżet kampanii z resourceName równą customers/123/campaignBudgets/-1, będzie można ponownie użyć tej nazwy zasobu w polu Campaign.budget w tym samym żądaniu. Dzięki temu te 2 zasoby zostaną utworzone i atomowo połączone.

Aby utworzyć tymczasową nazwę zasobu, umieść liczbę ujemną w części nazwy, którą serwer normalnie przydziela.

Uwaga:

  • Aby można było ponownie użyć tej nazwy, zasoby muszą mieć tymczasową nazwę. Na przykład poprzedni przykład CampaignBudżetu i kampanii nie powiódłby się, jeśli odwrócono kolejność mutacji.
  • Nazwy tymczasowe nie są zapamiętywane w żądaniach.
  • Nie ma limitu liczby nazw tymczasowych w żądaniu.
  • Każda tymczasowa nazwa musi zawierać niepowtarzalną liczbę ujemną, nawet jeśli typy zasobów się różnią.

Czas oczekiwania

Ważne jest grupowanie mutacji według typu zasobu. W przeciwnym razie żądanie może przekroczyć limit czasu i nie zostać zrealizowane. Czas oczekiwania jest mniej więcej równy serii wywołań poszczególnych metod mutacji, gdzie każda zmiana typu zasobu jest nowym wywołaniem. Na przykład zmiana 10 kampanii i 10 grup reklam to jak 2 połączenia, a zmiana 1 kampanii, 1 grupy reklam, 1 kampanii i 1 grupy reklam to jak 4 połączenia.

{94ErrorEventError}{13DenConversionErrorSize{13DenConversionImageError}{304ErrorExtensionError{16360080080080000000 pewnegobłędu przynależącego do geometriiBłąd tabeli z błędemAdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError

Żądanie HTTP

POST https://googleads.googleapis.com/v15/customers/{customerId}/googleAds:mutate

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
customerId

string

To pole jest wymagane. Identyfikator klienta, którego zasoby są modyfikowane.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "mutateOperations": [
    {
      object (MutateOperation)
    }
  ],
  "partialFailure": boolean,
  "validateOnly": boolean,
  "responseContentType": enum (ResponseContentType)
}
Pola
mutateOperations[]

object (MutateOperation)

To pole jest wymagane. Lista operacji do wykonania na poszczególnych zasobach.

partialFailure

boolean

Jeśli wartość to prawda, udane operacje będą wykonywane, a nieprawidłowe – będą zwracać błędy. Jeśli ma wartość false (fałsz), wszystkie operacje będą przeprowadzane w ramach jednej transakcji tylko wtedy, gdy będą prawidłowe. Wartość domyślna to false (fałsz).

validateOnly

boolean

Jeśli ma wartość true (prawda), żądanie jest sprawdzane, ale nie wykonywane. Zwracane są tylko błędy, a nie wyniki.

responseContentType

enum (ResponseContentType)

Ustawienie typu treści odpowiedzi. Określa, czy po mutacji ma być zwracany zmienny zasób, czy tylko jego nazwa. Zasób zmienny zostanie zwrócony tylko wtedy, gdy ma odpowiednie pole odpowiedzi. Na przykład MutateCampaignResult.campaign.

Treść odpowiedzi

Wiadomość z odpowiedzią na temat: GoogleAdsService.Mutate.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "partialFailureError": {
    object (Status)
  },
  "mutateOperationResponses": [
    {
      object (MutateOperationResponse)
    }
  ]
}
Pola
partialFailureError

object (Status)

Błędy związane z nieudanymi operacjami w trybie częściowej awarii. Zwracana tylko wtedy, gdy element partialFailure = true i wszystkie błędy występują w operacjach. Jeśli jakiekolwiek błędy wystąpią poza operacjami (na przykład błędy uwierzytelniania), zwrócimy błąd na poziomie RPC.

mutateOperationResponses[]

object (MutateOperationResponse)

Wszystkie odpowiedzi dotyczące mutacji.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

  • https://www.googleapis.com/auth/adwords

Więcej informacji znajdziesz w artykule Omówienie protokołu OAuth 2.0.