یک برچسب را به روز کنید

شما می‌توانید با اعمال مجموعه‌ای از درخواست‌های به‌روزرسانی که منجر به یک ویرایش جدید در پیش‌نویس می‌شوند، یک برچسب واحد را به‌روزرسانی کنید. برای مثال، می‌توانید یک ویژگی برچسب موجود (توضیحات برچسب) را به‌روزرسانی کنید یا می‌توانید یک Field جدید به برچسب اضافه کنید.

به‌روزرسانی برچسب (label update) مانند یک به‌روزرسانی دسته‌ای عمل می‌کند، زیرا این متد لیستی از اشیاء Request به‌روزرسانی را دریافت می‌کند. به‌روزرسانی‌ها را طبق همان ترتیبی که در درخواست دسته‌ای مشخص شده است، انجام می‌دهد. به‌روزرسانی‌ها در به‌روزرسانی دسته‌ای به صورت اتمیک اعمال می‌شوند. یعنی، اگر هر درخواستی در دسته ناموفق باشد، کل به‌روزرسانی ناموفق است و هیچ یک از تغییرات (که به طور بالقوه وابسته هستند) اعمال نمی‌شوند. برچسب بدون تغییر باقی می‌ماند.

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

به‌روزرسانی اشیاء برچسب

یک برچسب شامل بسیاری از انواع اشیاء دیگر است که می‌توانند به‌روزرسانی شوند، مانند:

  • ویژگی‌های برچسب
  • فیلدها و انواع فیلدها
  • گزینه‌های انتخابی و ویژگی‌های انتخاب انتخابی

اینها برخی از اشیاء زیادی هستند که ظاهر و عملکرد یک برچسب را کنترل می‌کنند.

دسته بندی عملیات

عملیات زیر که توسط متد labels.delta پشتیبانی می‌شوند را می‌توان در دسته‌های کلی زیر گروه‌بندی کرد:

دسته بندی توضیحات
ایجاد کردن اشیاء را اضافه کنید.
به‌روزرسانی به‌روزرسانی ویژگی‌های خاصی از یک شیء.
فعال کردن اشیاء را فعال کنید.
غیرفعال کردن غیرفعال کردن اشیاء.
حذف اشیاء را بردارید.

این دسته بندی ها در بخش بعدی برای توصیف رفتار عملیات خاص استفاده می شوند.

درخواست‌های به‌روزرسانی

متد labels.delta با گرفتن یک یا چند شیء Request کار می‌کند که هر کدام نوع درخواستی را برای اجرا مشخص می‌کنند. انواع مختلفی از درخواست‌ها وجود دارد. در اینجا به تفصیل انواع درخواست‌ها که در دسته‌های مختلف گروه‌بندی شده‌اند، آمده است.

نوع درخواست
ویژگی‌های برچسب
به‌روزرسانی درخواست به‌روزرسانی ویژگی‌های برچسب
میدان
ایجاد کردن درخواست ایجاد فیلد
به‌روزرسانی درخواست به‌روزرسانیویژگی‌های فیلد
نوع فیلد درخواست به‌روزرسانی
فعال کردن فعال کردن درخواست فیلد
غیرفعال کردن غیرفعال کردن درخواست فیلد
حذف درخواست حذف فیلد
انتخاب
ایجاد کردن درخواست انتخاب
به‌روزرسانی UpdateSelectionChoicePropertiesدرخواست
فعال کردن EnableSelectionChoiceRequest
غیرفعال کردن غیرفعال کردنانتخابدرخواست
حذف درخواست انتخاب حذف

ماسک‌های صحرایی

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

مثال

برای به‌روزرسانی یک برچسب، از متد delta در مجموعه labels استفاده کنید.

همچنین باید مشخص کنید:

  • برای استفاده از اعتبارنامه‌های مدیر کاربر، useAdminAccess true است. سرور قبل از اجازه دسترسی، تأیید می‌کند که کاربر برای برچسب، مدیر است.

  • Request که به‌روزرسانی‌های مربوط به برچسب را مشخص می‌کند.

  • title برچسب از طریق متد property .

  • یک یا چند Field .

  • یک منبع Label که هر برچسب را نشان می‌دهد. این شامل یک منبع Name و ID است که یک شناسه منحصر به فرد جهانی برای برچسب است.

  • LabelView LABEL_VIEW_FULL است تا نمای Resource اعمال شده روی پاسخ‌های برچسب را تنظیم کند. LABEL_VIEW_FULL تمام فیلدهای ممکن را برمی‌گرداند.

این مثال از ID برای به‌روزرسانی برچسب صحیح استفاده می‌کند.

پایتون

body = {
'use_admin_access': True,
'requests': [{
  'update_label': {
    'properties': {
      'title': 'TITLE'
    },
    'update_mask': {
      'paths': ['title']
    }
  },
}, {
  'create_field': {
    'field': {
      'properties': {
        'display_name': 'DISPLAY_NAME'
      },
      'text_options': {}
    }
  }
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
  body=body,
  name='labels/ID').execute()

نود جی اس

var body = {
  'use_admin_access': true,
  'requests': [{
    'update_label': {
      'properties': {
        'title': 'TITLE'
      },
      'update_mask': {
        'paths': ['title']
      }
    },
  }, {
    'create_field': {
      'field': {
        'properties': {
          'display_name': 'DISPLAY_NAME'
        },
        'text_options': {}
      }
    }
  }],
  'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
  'resource': body,
  'name': 'labels/ID'
}, (err, res) => {
  if (err) return console.error('The API returned an error: ' + err);
  console.log(res);
});

برچسب، فیلد یا انتخاب به‌روزرسانی می‌شود، شناسه‌ی ویرایش برچسب افزایش می‌یابد و برچسب در پایگاه داده به عنوان برچسب پیش‌نویس ذخیره می‌شود. State برچسب PUBLISHED با hasUnpublishedChanges=true است، به این معنی که تغییرات پیش‌نویس وجود دارد، اما برای کاربران در دسترس نیستند. برچسب به‌روزرسانی‌شده باید قبل از اینکه تغییرات برای کاربران قابل مشاهده شود، PUBLISHED . برای اطلاعات بیشتر، به چرخه‌ی حیات برچسب مراجعه کنید.