Method: customers.googleAds.mutate

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

Zasadniczo metoda ta obejmuje serię metod modyfikacji. Jedyna funkcja dostępna w ramach bezpośredniego wywoływania tych metod to:

  • Transakcje Atomic
  • Tymczasowe nazwy zasobów (opisane poniżej)
  • Trochę krótszy czas oczekiwania w stosunku do serii wywołań mutacji

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

Korzyści z transakcji Atomic

Niewielka dostępność znacznie ułatwia obsługę błędów. Jeśli jedna z nich się nie powiedzie, Twoje konto może znaleźć się w niespójności. W przypadku niedostępności następuje bezpośrednie przejście do wybranego stanu albo żądanie zostaje zakończone niepowodzeniem i można spróbować ponownie.

Nazwy zasobów tymczasowych

Tymczasowe nazwy zasobów to specjalny typ nazw zasobów używanych do tworzenia zasobów i odwoływania się do niego w tym samym żądaniu. Jeśli na przykład budżet kampanii zostanie utworzony z wartością resourceName równą customers/123/campaignBudgets/-1, tej nazwy zasobu będzie można ponownie użyć w polu Campaign.budget w tym samym żądaniu. W ten sposób oba zasoby będą tworzone i atomowo połączone.

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

Uwaga:

  • Aby można było ponownie użyć tej nazwy, zasoby muszą zostać utworzone przy użyciu nazwy tymczasowej. Na przykład poprzedni przykład CampaignBudżetu i kampanii nie powiódł się, jeśli kolejność mutacji została odwrócona.
  • Nazwy tymczasowe nie są zapamiętywane między żądaniami.
  • Nie ma limitu 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 udać się. Czas oczekiwania jest w przybliżeniu równy serii wywołań poszczególnych metod przekształcania, 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, podczas gdy zmiana 1 kampanii, 1 grupy reklam, 1 kampanii, 1 grupy reklam to 4 połączenia.

Lista błędów zgłoszonej: {5TubeErrorConversionError}{503300{30000000000000000030030030303030303030303030303038033803380338 też koduAdCustomizerErrorAdErrorAdGroupAdErrorAdGroupCriterionErrorAdGroupErrorAssetErrorAuthenticationErrorAuthorizationErrorBiddingErrorCampaignBudgetErrorCampaignCriterionErrorCampaignErrorCampaignExperimentErrorCampaignSharedSetErrorCollectionSizeErrorContextErrorConversionActionErrorCriterionErrorCustomerFeedErrorDatabaseErrorDateErrorDateRangeErrorDistinctErrorExtensionFeedItemErrorExtensionSettingErrorFeedAttributeReferenceErrorFeedErrorFeedItemErrorFeedItemSetErrorFieldErrorFieldMaskErrorFunctionParsingErrorHeaderErrorImageErrorInternalErrorKeywordPlanAdGroupKeywordErrorKeywordPlanCampaignErrorKeywordPlanErrorLabelErrorListOperationErrorMediaUploadErrorMutateErrorNewResourceCreationErrorNullErrorOperationAccessDeniedErrorPolicyFindingErrorPolicyViolationErrorQuotaErrorRangeErrorRequestErrorResourceCountLimitExceededErrorSettingErrorSharedSetErrorSizeLimitErrorStringFormatErrorStringLengthErrorUrlFieldErrorUserListErrorYoutubeVideoRegistrationError

Żądanie HTTP

POST https://googleads.googleapis.com/v16/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 ma wartość true (prawda), udane operacje będą wykonywane, a nieprawidłowe – zwrócą błędy. Jeśli ma wartość false (fałsz), wszystkie operacje są wykonywane w ramach jednej transakcji i tylko wtedy, gdy są prawidłowe. Wartość domyślna to false (fałsz).

validateOnly

boolean

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

responseContentType

enum (ResponseContentType)

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

Treść odpowiedzi

Odpowiedź na pytanie: 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 awarii częściowych. Zwracany tylko wtedy, gdy element partialFailure = true i wszystkie błędy występują w operacjach. Jeśli błędy wystąpią poza operacjami (np. błędy uwierzytelniania), zwrócimy błąd na poziomie RPC.

mutateOperationResponses[]

object (MutateOperationResponse)

Wszystkie odpowiedzi dla mutacji.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

Więcej informacji znajdziesz w omówieniu protokołu OAuth 2.0.