Geçici kimlikleri kullanma

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 belirttiğinizi varsayalım. Reklam grubunu daha sonraki bir işlemde oluşturduğunuzda, 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 mutasyon isteklerinde hatırlanmaz. Önceki bir işte veya değiştirme isteğinde oluşturulan bir kaynağı referans olarak kullanmak 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

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 reklam grubu için yeni bir geçici kimlik kullanılır. Reklam grubu reklamı oluştururken de bu reklam grubuna referans veririz. 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şlem tarafından referans verilmediğinden gerekli değildir.