تغییر اشیا

همانطور که در راهنمای ساختار API بحث شده است، هر منبع سطح بالا در API گوگل ادز دارای یک سرویس خاص از نوع منبع است که از اصلاح نمونه‌های منبع پشتیبانی می‌کند.

این راهنما از CampaignService برای نشان دادن اصلاح اشیاء Campaign استفاده خواهد کرد، اما همین مفاهیم در مورد سایر سرویس‌های خاص از نوع منبع نیز صدق می‌کند.

تغییر اشیاء

هر سرویس با نوع منبع خاص، یک متد mutate خواهد داشت که درخواست mutate را می‌پذیرد. این درخواست شامل موارد زیر است:

  • customerId
  • مجموعه‌ای از عملیات
  • یک تنظیم نوع محتوای پاسخ که تعیین می‌کند آیا منبع تغییرپذیر یا فقط نام منبع باید پس از تغییر برگردانده شود.

برای مثال، متد MutateCampaigns از CampaignService یک MutateCampaignsRequest می‌پذیرد که شامل موارد زیر است:

  • customerId
  • مجموعه‌ای از اشیاء CampaignOperation
  • فیلد response_content_type که نوع پاسخ ترجیحی را نشان می‌دهد.

عملیات

یک شیء عملیاتی مانند CampaignOperation به شما امکان می‌دهد با تنظیم فیلد operation آن، عملی را که می‌خواهید روی یک منبع واحد انجام دهید، مشخص کنید. این فیلد، یکی از فیلدهای تشکیل شده از ویژگی‌های زیر است که نوع آن، نوع منبع است:

create
یک نمونه جدید از منبع ایجاد می‌کند.
update
منبع را به‌روزرسانی می‌کند تا با ویژگی‌های منبع update مطابقت داشته باشد. وقتی این فیلد تنظیم شد، باید update_mask عملیات را نیز تنظیم کنید، که به API تبلیغات گوگل می‌گوید کدام ویژگی‌ها را در طول عملیات به‌روزرسانی تغییر دهد. هر کتابخانه کلاینت یک متد کمکی یا کمکی دارد که update_mask برای شما تولید می‌کند، همانطور که در کتابخانه‌های کلاینت ما نشان داده شده است.
remove
منبع را حذف می‌کند.

از آنجایی که فیلد operation ، یک فیلد oneof است، نمی‌توانید از یک عملیات واحد برای تغییر چندین شیء استفاده کنید. برای مثال، اگر می‌خواهید یک کمپین ایجاد کنید و کمپین دیگری را حذف کنید، دو نمونه از CampaignOperation را به درخواست خود اضافه کنید: یکی با مجموعه create و دیگری با مجموعه remove .

عملیات دسته‌ای

اگرچه یک عملیات واحد فقط می‌تواند یک منبع را ایجاد، به‌روزرسانی یا حذف کند، اما یک درخواست mutate می‌تواند شامل چندین عملیات باشد. شما باید عملیات خود را در یک درخواست mutate واحد ترکیب کنید، نه اینکه چندین درخواست mutate ارسال کنید که هر کدام شامل یک عملیات واحد باشند.

برای مثال، اگر می‌خواهید ده کمپین ایجاد کنید، باید یک MutateCampaignsRequest ارسال کنید که دارای ده شیء CampaignOperation باشد.

پاسخ‌های جهشی

آنچه در پاسخ برگردانده می‌شود بستگی به آنچه در response_content_type درخواست mutate ارسال شده است، دارد. برای مثال، اگر MUTABLE_RESOURCE مشخص شده باشد، پاسخ فقط شامل فیلدهای قابل تغییر در کمپین خواهد بود. سپس می‌توانید بدون نیاز به بازسازی آن، mutates های بعدی را روی آن شیء منبع انجام دهید.

خطاهای جهشی

عملیات موجود در یک درخواست تغییر شکل داده شده، تنها در صورتی روی حساب گوگل ادز شما اعمال می‌شود که هر عملیات در درخواست با موفقیت انجام شود. برای مشاهده لیستی از خطاهای رایج و نحوه رفع آنها ، راهنمای خطاهای رایج را بررسی کنید.