Geçici kimlikleri kullanma

BatchJobService'ın en güçlü özelliklerinden biri de geçici kimliklerin kullanımını destekler.

Bunu, yeni kaynağın resource_name değerini belirterek gerçekleştirebilirsiniz. negatif kimlik. Örneğin, bir kampanya oluşturup kaynak adını belirtirseniz customers/<YOUR_CUSTOMER_ID>/campaigns/-1 olarak görünür ve daha sonraki bir işlemde reklam grubunuz varsa, bu kaynak adına ve belirttiğiniz -1, oluşturulan kampanyanın gerçek kimliğiyle değiştirilir otomatik olarak oluşturur.

Geçici kaynak adlarını kullanırken aklınızda bulundurmanız gereken bazı noktalar şunlardır:

  • Geçici bir kaynak adı yalnızca gösterir. Aşağıdaki örnekte, reklam grubu işleminin .
  • Geçici kaynak adları, işler veya değişiklik isteklerinde hatırlanmaz; önceki bir işte oluşturulan bir kaynağa başvurmak veya istek üzerinde değişiklik yapmak için gerçek kaynak adıdır.
  • Tek bir iş veya değişiklik isteği için her geçici kaynak adı bir benzersiz negatif sayı (farklı kaynak türlerinden olsalar bile) Eğer bir geçici kimlik tek bir işte veya değişiklik isteğinde yeniden kullanılıyor, ardından bir hata hatası döndürülür.

Örnek

Yukarıda belirtilen duruma daha somut bir örnek vermek için, örneğin tek bir API isteğine bir kampanya, reklam grubu ve reklam eklemek istiyorsanız. Siz aşağıdakine benzer bir yapı oluşturabilir:

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"
        ...
      }
    }
  },
]

Yeniden kullanamayacağımızdan, reklam grubu için yeni bir geçici kimliğin kullanıldığını unutmayın. kampanya için kullandığımız -1 ve ayrıca, bir reklam grubu reklamı oluşturun. Reklam grubunun kendisi, başvurduğumuz kaynak adını istekteki önceki bir işlemde kampanya için oluşturulmuş, ancak ad_group_ad_operation içinde resource_name gerekli değil çünkü daha fazla işlemi, buna referans veriyor.