Geçici kimlikleri kullanma

BatchJobService'nin güçlü bir özelliği de geçici kimliklerin kullanımını desteklemesidir.

Bunu, yeni kaynağın resource_name özelliğini negatif bir kimlik kullanacak şekilde belirterek yapabilirsiniz. Örneğin, bir kampanya oluşturduğunuzu ve 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ıyla başvurabilirsiniz ve belirttiğiniz -1, oluşturulan kampanyanın gerçek kimliğiyle otomatik olarak değiştirilir.

Geçici kaynak adlarını kullanırken aklınızda 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şlemler listesinde kampanya işleminden sonra görünmesi gerekir.
  • Geçici kaynak adları, işler veya değiştirme istekleri arasında hatırlanmaz. Önceki bir işte veya mutasyon isteğinde oluşturulan bir kaynağa referans vermek için kaynağın gerçek kaynak adını kullanın.
  • Tek bir iş veya değiştirme isteği için, farklı kaynak türlerinden olsalar bile her geçici kaynak adı benzersiz bir negatif sayı kullanmalıdır. Tek bir işte veya mutasyon isteğinde geçici bir kimlik yeniden kullanılırsa hata döndürülür.

Örnek

Tek bir API isteğine kampanya, reklam grubu ve reklam eklemek istediğinizi varsayalım. İsteğiniz için aşağıdaki yapıya 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 yeniden kullanılamadığından reklam grubu için yeni bir geçici kimlik kullanılır. Ayrıca, reklam grubu reklamı oluştururken de bu reklam grubuna referans veririz. Reklam grubunun kendisi, istekteki önceki bir işlemde kampanya için oluşturduğumuz kaynak adını referans alırken başka bir işlem bu adı referans almadığı için ad_group_ad_operation içindeki resource_name gerekli değildir.