BatchJobService
'un güçlü özelliklerinden biri, geçici kimliklerin kullanımını desteklemesidir.
Bunu, negatif kimlik kullanmak için yeni kaynağın resource_name
değerini belirterek yapabilirsiniz. Örneğin, bir kampanya oluşturup kaynak adını customers/<YOUR_CUSTOMER_ID>/campaigns/-1
olarak belirtirseniz daha sonraki bir işlemde reklam grubunu oluştururken bu kaynak adına göre referans verebilirsiniz. Belirttiğiniz -1
, oluşturulan kampanyanın gerçek kimliğiyle otomatik olarak değiştirilir.
Geçici kaynak adlarını kullanırken göz önünde bulundurmanız gereken bazı noktalar aşağıda belirtilmiştir:
- Geçici kaynak adı yalnızca bir kaynakta tanımlandıktan sonra kullanılabilir. Aşağıdaki örnekte, reklam grubu işleminin işlem listesinde kampanya işleminden sonra görünmesi gerekir.
- Geçici kaynak adları işler veya değiştirme isteklerinde hatırlanmaz. Önceki bir iş veya değiştirme isteğinde oluşturulan bir kaynağa referans vermek için gerçek kaynak adını kullanın.
- Tek bir iş veya değiştirme isteği için her geçici kaynak adında, farklı kaynak türlerinden olsalar bile benzersiz bir negatif sayı kullanılmalıdır. Tek bir iş veya değiştirme isteğinde geçici kimlik yeniden kullanılırsa hata döndürülür.
Örnek
Yukarıda bahsedilen duruma dair daha somut bir örnek vermek gerekirse tek bir API isteğinde bir kampanya, bir reklam grubu ve bir reklam eklemek istediğinizi varsayalım. İsteğiniz için aşağıdakine benzer bir yapı oluşturursunuz:
mutate_operations: [
{
campaign_operation: {
create: {
resource_name: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1",
...
}
}
},
{
ad_group_operation: {
create: {
resource_name: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2",
campaign: "customers/<YOUR_CUSTOMER_ID>/campaigns/-1"
...
}
}
},
{
ad_group_ad_operation: {
create: {
ad_group: "customers/<YOUR_CUSTOMER_ID>/adGroups/-2"
...
}
}
},
]
Kampanya için kullandığımız -1
kimliğini yeniden kullanamadığımızdan ve reklam grubu reklamı oluştururken bu reklam grubuna da referans verdiğimizden, reklam grubu için yeni bir geçici kimliğin kullanıldığını unutmayın. Reklam grubunun kendisi, istekteki daha önceki bir işlemde kampanya için belirlediğimiz kaynak adına referans verir. ad_group_ad_operation
içindeki resource_name
ise başka bir işleme referans vermediği için gerekli değildir.