شما میتوانید با اعمال مجموعهای از درخواستهای بهروزرسانی که منجر به یک ویرایش جدید در پیشنویس میشوند، یک برچسب واحد را بهروزرسانی کنید. برای مثال، میتوانید یک ویژگی برچسب موجود (توضیحات برچسب) را بهروزرسانی کنید یا میتوانید یک Field جدید به برچسب اضافه کنید.
بهروزرسانی برچسب (label update) مانند یک بهروزرسانی دستهای عمل میکند، زیرا این متد لیستی از اشیاء Request بهروزرسانی را دریافت میکند. بهروزرسانیها را طبق همان ترتیبی که در درخواست دستهای مشخص شده است، انجام میدهد. بهروزرسانیها در بهروزرسانی دستهای به صورت اتمیک اعمال میشوند. یعنی، اگر هر درخواستی در دسته ناموفق باشد، کل بهروزرسانی ناموفق است و هیچ یک از تغییرات (که به طور بالقوه وابسته هستند) اعمال نمیشوند. برچسب بدون تغییر باقی میماند.
اگر بهروزرسانی موفقیتآمیز باشد، پیشنویس اصلاحیهی حاصل باید قبل از اینکه تغییرات بتوانند با هر آیتم درایوی استفاده شوند، منتشر شود.
بهروزرسانی اشیاء برچسب
یک برچسب شامل بسیاری از انواع اشیاء دیگر است که میتوانند بهروزرسانی شوند، مانند:
- ویژگیهای برچسب
- فیلدها و انواع فیلدها
- گزینههای انتخابی و ویژگیهای انتخاب انتخابی
اینها برخی از اشیاء زیادی هستند که ظاهر و عملکرد یک برچسب را کنترل میکنند.
دسته بندی عملیات
عملیات زیر که توسط متد labels.delta پشتیبانی میشوند را میتوان در دستههای کلی زیر گروهبندی کرد:
| دسته بندی | توضیحات |
|---|---|
| ایجاد کردن | اشیاء را اضافه کنید. |
| بهروزرسانی | بهروزرسانی ویژگیهای خاصی از یک شیء. |
| فعال کردن | اشیاء را فعال کنید. |
| غیرفعال کردن | غیرفعال کردن اشیاء. |
| حذف | اشیاء را بردارید. |
این دسته بندی ها در بخش بعدی برای توصیف رفتار عملیات خاص استفاده می شوند.
درخواستهای بهروزرسانی
متد labels.delta با گرفتن یک یا چند شیء Request کار میکند که هر کدام نوع درخواستی را برای اجرا مشخص میکنند. انواع مختلفی از درخواستها وجود دارد. در اینجا به تفصیل انواع درخواستها که در دستههای مختلف گروهبندی شدهاند، آمده است.
| نوع درخواست | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ویژگیهای برچسب |
| ||||||||||
| میدان |
| ||||||||||
| انتخاب |
| ||||||||||
ماسکهای صحرایی
بسیاری از درخواستهای نوع "بهروزرسانی" و "غیرفعالسازی" نیاز به یک FieldMask دارند. این یک لیست جدا شده با کاما از فیلدهایی است که میخواهید بهروزرسانی کنید و سایر فیلدها را بدون تغییر بگذارید. این ماسک برای اطمینان از بهروزرسانی فقط فیلدهایی که میخواهید ویرایش کنید، لازم است. شما باید حداقل یک فیلد را مشخص کنید.
مثال
برای بهروزرسانی یک برچسب، از متد delta در مجموعه labels استفاده کنید.
همچنین باید مشخص کنید:
برای استفاده از اعتبارنامههای مدیر کاربر،
useAdminAccesstrueاست. سرور قبل از اجازه دسترسی، تأیید میکند که کاربر برای برچسب، مدیر است.Requestکه بهروزرسانیهای مربوط به برچسب را مشخص میکند.titleبرچسب از طریق متدproperty.یک یا چند
Field.یک منبع Label که هر برچسب را نشان میدهد. این شامل یک منبع
NameوIDاست که یک شناسه منحصر به فرد جهانی برای برچسب است.LabelViewLABEL_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 . برای اطلاعات بیشتر، به چرخهی حیات برچسب مراجعه کنید.