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