השדה response_content_type מציין את סוג התשובה המועדף.
תפעול
אובייקט פעולה כמו CampaignOperation מאפשר לכם לציין את הפעולה שאתם רוצים לבצע במשאב יחיד על ידי הגדרת השדה operation. השדה הזה הוא שדה oneof שמורכב מהמאפיינים הבאים, שהסוג שלהם הוא סוג המשאב:
create
יוצר מופע חדש של המשאב.
update
מעדכן את המשאב כך שיתאים למאפיינים של משאב update.
אם השדה הזה מוגדר, צריך להגדיר גם את update_mask של הפעולה, שמציין ל-Google Ads API אילו מאפיינים לשנות במהלך פעולת העדכון. לכל ספריית לקוח יש שיטה שימושית או שיטת עזר שיוצרת את update_mask בשבילכם, כמו שמוסבר בספריות הלקוח שלנו.
remove
הסרת המשאב.
השדה operation הוא שדה oneof, ולכן אי אפשר להשתמש בפעולה אחת כדי לשנות כמה אובייקטים. לדוגמה, אם רוצים ליצור קמפיין אחד ולהסיר קמפיין אחר, מוסיפים שני מופעים של CampaignOperation לבקשה: אחד עם create והשני עם remove.
פעולות אצווה
למרות שפעולה אחת יכולה רק ליצור, לעדכן או להסיר משאב אחד, בקשת שינוי אחת יכולה להכיל כמה פעולות. מומלץ לשלב את הפעולות בבקשת שינוי אחת, במקום לשלוח כמה בקשות שינוי שכל אחת מהן מכילה פעולה אחת.
לדוגמה, אם רוצים ליצור עשרה קמפיינים, צריך לשלוח בקשה אחת מסוג MutateCampaignsRequest עם עשרה אובייקטים מסוג CampaignOperation.
שינוי תשובות
מה שמוחזר בתגובה תלוי במה שנשלח בresponse_content_type של בקשת השינוי. לדוגמה, אם צוין MUTABLE_RESOURCE, אז התגובה תכיל רק את השדות שניתנים לשינוי בקמפיין. לאחר מכן תוכלו לבצע שינויים נוספים באובייקט המשאב הזה בלי לשחזר אותו.
שגיאות בשינוי
הפעולות בבקשת שינוי נתונה יחולו על חשבון Google Ads רק אם כל הפעולות בבקשה יצליחו. במדריך לשגיאות נפוצות מפורטת רשימה של שגיאות נפוצות והסברים איך לפתור אותן.
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-09-05 (שעון UTC)."],[[["\u003cp\u003eUse the Google Ads API to modify and inspect objects, such as campaigns, through their respective services.\u003c/p\u003e\n"],["\u003cp\u003eEach resource-type-specific service has a mutate method to create, update, or remove instances of that resource type.\u003c/p\u003e\n"],["\u003cp\u003eOperations within a single mutate request are atomic; all operations must succeed for any changes to be applied.\u003c/p\u003e\n"],["\u003cp\u003eBatch multiple operations into a single mutate request for efficiency, instead of sending individual requests.\u003c/p\u003e\n"],["\u003cp\u003eSpecify a response content type to control the data returned in the response, potentially streamlining further interactions.\u003c/p\u003e\n"]]],[],null,["# Change Objects\n\n| **Objective:** Understand how to modify objects using the Google Ads API.\n\nAs discussed in the [API structure guide](/google-ads/api/docs/concepts/api-structure), each\ntop-level resource in the Google Ads API has a corresponding resource-type-specific\nservice that supports modifying instances of the resource.\n\nThis guide will use [`CampaignService`](/google-ads/api/reference/rpc/v21/CampaignService) to\ndemonstrate modifying [`Campaign`](/google-ads/api/reference/rpc/v21/Campaign)\nobjects, but the same concepts apply to all other resource-type-specific\nservices.\n| **Key Term:** A top-level resource is a [resource](/google-ads/api/reference/rpc/v21/overview#resources) whose name does not include a period (`.`). For example, `Campaign` is a top-level resource, but `Campaign.NetworkSettings` is not.\n\nChange objects\n--------------\n\nEach resource-type-specific service will have a *mutate* method that accepts\na mutate request. This request consists of:\n\n- A `customerId`\n- A collection of operations\n- A response content-type setting that determines whether the mutable resource or just the resource name should be returned post mutation.\n\nFor example, the `MutateCampaigns` method of `CampaignService` accepts a\n[`MutateCampaignsRequest`](/google-ads/api/reference/rpc/v21/MutateCampaignsRequest) that consists\nof:\n\n- A `customerId`\n- A collection of `CampaignOperation` objects\n- The `response_content_type` field indicating the preferred response type.\n\n### Operations\n\nAn operation object such as a `CampaignOperation` lets you specify the\naction that you want to perform on a single resource by setting its `operation`\nfield. This field is a\n[oneof field](//protobuf.dev/programming-guides/proto3/#oneof)\nconsisting of the following attributes whose type is the resource type:\n\n`create`\n: Creates a new instance of the resource.\n\n`update`\n: Updates the resource to match the attributes of the `update` resource.\n When this field is set, you must also set the `update_mask` of the\n operation, which tells the Google Ads API which attributes to modify during\n the update operation. Each [client library](/google-ads/api/docs/client-libs) has a\n utility or helper method that will generate the `update_mask` for you, as\n demonstrated in our [client libraries](/google-ads/api/docs/client-libs).\n\n`remove`\n: Removes the resource.\n\nSince the `operation` field is a `oneof` field, you cannot use a single\noperation to modify multiple objects. For example, if you want to create one\ncampaign and remove another campaign, add two instances of `CampaignOperation`\nto your request: one with `create` set, and another with `remove` set.\n\n### Batch operations\n\nAlthough a single operation can only either create, update, or remove a single\nresource, a single mutate request can contain multiple operations. You should\ncombine your operations into a single mutate request instead of sending multiple\nmutate requests that each contain a single operation.\n\nFor example, if you want to create ten campaigns, you should send a\n*single* `MutateCampaignsRequest` that has ten `CampaignOperation` objects.\n\n### Mutate responses\n\nWhat is returned in the response depends on what was sent in the\n[`response_content_type`](/google-ads/api/reference/rpc/v21/ResponseContentTypeEnum.ResponseContentType)\nof the mutate request. For example, if `MUTABLE_RESOURCE` was specified, then\nthe [response](/google-ads/api/reference/rpc/v21/MutateCampaignsResponse) would contain just the\nmutable fields in the campaign. You can then make follow-up mutates on that\nresource object without having to reconstruct it.\n\n### Mutate errors\n\nThe operations in a given mutate request will only be applied to your Google Ads\naccount if *every* operation in the request succeeds. Check out the\n[common errors guide](/google-ads/api/docs/common-errors) for a list of common\nerrors and how to address them."]]