Kaynak oluşturur, günceller veya kaldırır. Bu yöntem, birden fazla kaynak türüne sahip atomik işlemleri destekler. Örneğin, bir kampanya ve kampanya bütçesini atomik olarak oluşturabilir veya atomik olarak binlerce mutasyon gerçekleştirebilirsiniz.
Bu yöntem temel olarak bir dizi mutasyon yönteminin etrafında sarmalayıcıdır. Bu yöntemleri doğrudan çağırmaya kıyasla sunduğu tek özellikler şunlardır:
- Atomik işlemler
- Geçici kaynak adları (aşağıda açıklanmıştır)
- Bir dizi mutasyon çağrısı yapmayla ilgili gecikme biraz azaltıldı
Not: Yalnızca atomik işlemleri destekleyen kaynaklar dahil edildiğinden bu yöntem, her bir hizmete yapılan tüm çağrıları değiştiremez.
Atomik İşlemin Avantajları
Atomiklik, hata yönetimini çok daha kolay hale getirir. Bir dizi değişiklik yapıyorsanız ve bunlardan biri başarısız olursa hesabınız tutarsız bir durumda kalabilir. Atomiklik sayesinde, seçilen duruma doğrudan ulaşırsınız veya istek başarısız olur ve tekrar deneyebilirsiniz.
Geçici Kaynak Adları
Geçici kaynak adları, kaynak oluşturmak ve aynı istekte bu kaynağa referans vermek için kullanılan özel bir kaynak adı türüdür. Örneğin, resourceName
değeri customers/123/campaignBudgets/-1
olan bir kampanya bütçesi oluşturulursa bu kaynak adı aynı istekteki Campaign.budget
alanında yeniden kullanılabilir. Böylece iki kaynak atomik olarak oluşturulur ve bağlanır.
Geçici bir kaynak adı oluşturmak için adın, sunucunun normalde ayıracağı bölümüne negatif bir sayı girin.
Not:
- Kaynakların adı yeniden kullanılabilmesi için geçici bir adla oluşturulması gerekir. Örneğin, önceki CampaignBudget+Campaign örneği, değiştirme sırası tersine çevrilirse başarısız olur.
- Geçici adlar, isteklerde hatırlanmaz.
- Bir istekteki geçici ad sayısıyla ilgili bir sınırlama yoktur.
- Kaynak türleri farklı olsa bile her geçici ad için benzersiz bir negatif sayı kullanılmalıdır.
Gecikme
Mutasyonların kaynak türüne göre gruplandırılması önemlidir. Aksi takdirde istek zaman aşımına uğrayabilir ve başarısız olabilir. Gecikme, kaynak türünde yapılan her değişikliğin yeni bir çağrı olduğu, ayrı ayrı mutasyon yöntemlerine yapılan bir dizi çağrıya yaklaşık olarak eşittir. Örneğin, 10 kampanyanın ardından 10 reklam grubunun mutasyonu 2 çağrıya benzerken 1 kampanya, 1 reklam grubu, 1 kampanya, 1 reklam grubu mutasyonu 4 çağrıya benzer.
Atılan hataların listesi: AdCustomizerError AdError AdGroupAdError AdGroupCriterionError AdGroupError AssetError AuthenticationError AuthorizationError BiddingError CampaignBudgetError CampaignCriterionError CampaignError CampaignExperimentError CampaignSharedSetError CollectionSizeError ContextError ConversionActionError CriterionError CustomerFeedError DatabaseError DateError DateRangeError DistinctError ExtensionFeedItemError ExtensionSettingError FeedAttributeReferenceError FeedError FeedItemError FeedItemSetError FieldError FieldMaskError FunctionParsingError HeaderError ImageError InternalError KeywordPlanAdGroupKeywordError KeywordPlanCampaignError KeywordPlanError LabelError ListOperationError MediaUploadError MutateError NewResourceCreationError NullError OperationAccessDeniedError PolicyFindingError PolicyViolationError QuotaError RangeError RequestError ResourceCountLimitExceededError SettingError SharedSetError SizeLimitError StringFormatError StringLengthError UrlFieldError UserListError YoutubeVideoRegistrationError
HTTP isteği
POST https://googleads.googleapis.com/v19/customers/{customerId}/googleAds:mutate
URL, gRPC Kod Dönüştürme söz dizimini kullanır.
Yol parametreleri
Parametreler | |
---|---|
customerId |
Zorunlu. Kaynakları değiştirilen müşterinin kimliği. |
İstek içeriği
İstek metni aşağıdaki yapıyla birlikte verileri içerir:
JSON gösterimi |
---|
{ "mutateOperations": [ { object ( |
Alanlar | |
---|---|
mutateOperations[] |
Zorunlu. Ayrı kaynaklarda gerçekleştirilecek işlemlerin listesi. |
partialFailure |
Doğru ise başarılı işlemler gerçekleştirilir ve geçersiz işlemler hata döndürür. Yanlış ise tüm işlemler yalnızca geçerli olmaları durumunda tek bir işlemde gerçekleştirilir. Varsayılan değer yanlış (false) değeridir. |
validateOnly |
Doğru ise istek doğrulanır ancak yürütülmez. Sonuçlar değil, yalnızca hatalar döndürülür. |
responseContentType |
Yanıt içerik türü ayarı. Mutasyondan sonra değişken kaynağın mı yoksa yalnızca kaynak adının mı döndürüleceğini belirler. Değiştirilebilir kaynak yalnızca kaynakta uygun yanıt alanı varsa döndürülür. Örneğin, MutateCampaignResult.campaign. |
Yanıt gövdesi
GoogleAdsService.Mutate
için yanıt mesajı.
Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:
JSON gösterimi |
---|
{ "partialFailureError": { object ( |
Alanlar | |
---|---|
partialFailureError |
Kısmi hata modundaki işlem hatalarıyla ilgili hatalar. Yalnızca partialFailure = true olduğunda ve tüm hatalar işlemler içinde gerçekleştiğinde döndürülür. İşlemler dışında herhangi bir hata oluşursa (ör. kimlik doğrulama hataları) RPC düzeyinde bir hata döndürürüz. |
mutateOperationResponses[] |
Değişiklik için tüm yanıtlar. |
Yetkilendirme kapsamları
Aşağıdaki OAuth kapsamını gerektirir:
https://www.googleapis.com/auth/adwords
Daha fazla bilgi için OAuth 2.0 Overview sayfasına bakın.