Geçici kimlikleri kullanma
Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
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.
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2025-08-27 UTC.
[null,null,["Son güncelleme tarihi: 2025-08-27 UTC."],[[["\u003cp\u003e\u003ccode\u003eBatchJobService\u003c/code\u003e allows the use of temporary IDs (negative numbers) for new resources within a single job, enabling you to reference them in subsequent operations within the same request.\u003c/p\u003e\n"],["\u003cp\u003eTemporary resource names must be unique within a single job or mutate request and are not remembered across different jobs or requests; use actual resource names for referencing resources created earlier.\u003c/p\u003e\n"],["\u003cp\u003eResources with temporary IDs must be defined before being referenced by other operations within the same request, ensuring the order of operations reflects dependencies.\u003c/p\u003e\n"]]],[],null,["# Using temporary IDs\n\nA powerful feature of [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) is that\nit supports the use of temporary IDs.\n\nYou can do this by specifying the new resource's `resource_name` to use a\nnegative ID. For example, suppose you create a campaign and specify its resource name\nas `customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1`. When you create the\nad group in a later operation, you can then reference it by that resource name\nand the `-1` you specified will be replaced by the actual ID of the created\ncampaign automatically.\n\nHere are some things to keep in mind when using temporary resource names:\n\n- A temporary resource name can only be used after it's been defined in a resource. In the following example, the ad group operation would have to appear after the campaign operation in the list of operations.\n- Temporary resource names are not remembered across jobs or mutate requests. To reference a resource created in a previous job or mutate request, use its actual resource name.\n- For a single job or mutate request, each temporary resource name must use a unique negative number, even if they are from different resource types. If a temporary ID is reused in a single job or mutate request, then an error is returned.\n\n### Example\n\nSuppose you want to add a campaign, an ad group, and an ad in a single API\nrequest. You would create a structure for your request analogous to the\nfollowing: \n\n mutate_operations: [\n {\n campaign_operation: {\n create: {\n resource_name: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1\",\n ...\n }\n }\n },\n {\n ad_group_operation: {\n create: {\n resource_name: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/adGroups/-2\",\n campaign: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/campaigns/-1\"\n ...\n }\n }\n },\n {\n ad_group_ad_operation: {\n create: {\n ad_group: \"customers/\u003cYOUR_CUSTOMER_ID\u003e/adGroups/-2\"\n ...\n }\n }\n },\n ]\n\nA new temporary ID is used for the ad group, since we can't reuse the `-1` that\nwe used for the campaign. We also reference this ad group when creating an ad\ngroup ad. The ad group itself references the resource name we established for\nthe campaign in an earlier operation in the request, while `resource_name` in\n`ad_group_ad_operation` is not necessary since no further operation is\nreferencing it."]]