استخدام أرقام تعريف مؤقتة
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
من الميزات الفعّالة في BatchJobService
أنّه
يتيح استخدام أرقام تعريف مؤقتة.
يمكنك إجراء ذلك من خلال تحديد resource_name
للمرجع الجديد لاستخدام معرّف سالب. على سبيل المثال، لنفترض أنّك أنشأت حملة وحدّدت اسم المورد الخاص بها على أنّه customers/<YOUR_CUSTOMER_ID>/campaigns/-1
. عند إنشاء المجموعة الإعلانية في عملية لاحقة، يمكنك الرجوع إليها باستخدام اسم المورد هذا، وسيتم تلقائيًا استبدال -1
الذي حدّدته برقم التعريف الفعلي للحملة التي تم إنشاؤها.
في ما يلي بعض الأمور التي يجب أخذها في الاعتبار عند استخدام أسماء الموارد المؤقتة:
- لا يمكن استخدام اسم مورد مؤقت إلا بعد تعريفه في مورد. في المثال التالي، يجب أن تظهر عملية المجموعة الإعلانية بعد عملية الحملة في قائمة العمليات.
- لا يتم تذكُّر أسماء الموارد المؤقتة في جميع المهام أو طلبات التعديل.
للإشارة إلى مورد تم إنشاؤه في مهمة سابقة أو طلب تغيير، استخدِم اسم المورد الفعلي.
- بالنسبة إلى طلب وظيفة أو طلب تغيير واحد، يجب أن يستخدم كل اسم مورد مؤقت رقمًا سالبًا فريدًا، حتى إذا كانت من أنواع موارد مختلفة. إذا تمت إعادة استخدام معرّف مؤقت في مهمة واحدة أو طلب تغيير، سيتم عرض خطأ.
مثال
لنفترض أنّك تريد إضافة حملة ومجموعة إعلانية وإعلان في طلب واحد من واجهة برمجة التطبيقات. يمكنك إنشاء بنية لطلبك مشابهة لما يلي:
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"
...
}
}
},
]
يتم استخدام رقم تعريف مؤقت جديد للمجموعة الإعلانية، لأنّه لا يمكن إعادة استخدام -1
الذي استخدمناه للحملة. ونشير أيضًا إلى هذه المجموعة الإعلانية عند إنشاء إعلان
خاص بالمجموعة الإعلانية. تشير المجموعة الإعلانية نفسها إلى اسم المورد الذي حدّدناه للحملة في عملية سابقة في الطلب، بينما لا تكون resource_name
في ad_group_ad_operation
ضرورية لأنّه لا تشير إليها أي عملية أخرى.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-27 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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."]]