شما میتوانید با استفاده از API برچسبهای گوگل درایو و با اعمال مجموعهای از درخواستهای بهروزرسانی که منجر به یک نسخه جدید از پیشنویس میشود، یک برچسب واحد را بهروزرسانی کنید. به عنوان مثال، میتوانید Properties یک برچسب موجود (توضیحات اولیه برچسب) را بهروزرسانی کنید یا میتوانید یک Field جدید به برچسب اضافه کنید.
بهروزرسانی برچسب (label update) مانند یک بهروزرسانی دستهای عمل میکند، زیرا این متد لیستی از اشیاء Request بهروزرسانی را دریافت میکند. بهروزرسانیها را طبق همان ترتیبی که در درخواست دستهای مشخص شده است، انجام میدهد. بهروزرسانیها در بهروزرسانی دستهای به صورت اتمیک اعمال میشوند. یعنی، اگر هر درخواستی در دسته ناموفق باشد، کل بهروزرسانی ناموفق است و هیچ یک از تغییرات (که به طور بالقوه وابسته هستند) اعمال نمیشوند. برچسب بدون تغییر باقی میماند.
اگر بهروزرسانی موفقیتآمیز باشد، پیشنویس اصلاحیهی حاصل باید قبل از اینکه تغییرات بتوانند با هر مورد گوگل درایو استفاده شوند، منتشر شود.
بهروزرسانی اشیاء برچسب
یک برچسب شامل بسیاری از انواع اشیاء دیگر است که میتوانند بهروزرسانی شوند، مانند:
-
Propertiesبرچسب - اشیاء
Fieldو انواع فیلد -
Choiceانتخابی وPropertiesانتخاب انتخابی
اینها برخی از اشیاء زیادی هستند که ظاهر و عملکرد یک برچسب را کنترل میکنند.
دسته بندی عملیات
عملیات زیر که توسط روش delta روی منبع labels پشتیبانی میشوند، میتوانند در دستههای کلی زیر گروهبندی شوند:
| دسته بندی | توضیحات |
|---|---|
| ایجاد | اشیاء را اضافه کنید. |
| بهروزرسانی | بهروزرسانی ویژگیهای خاصی از یک شیء. |
| فعال کردن | اشیاء را فعال کنید. |
| غیرفعال کردن | غیرفعال کردن اشیاء. |
| حذف | اشیاء را بردارید. |
این دسته بندی ها در بخش بعدی برای توصیف رفتار عملیات خاص استفاده می شوند.
درخواستهای بهروزرسانی
روش delta با گرفتن یک یا چند شیء درخواست (Request) کار میکند که هر کدام نوع درخواستی را برای اجرا مشخص میکنند. انواع مختلفی از درخواستها وجود دارد. در اینجا به تفصیل انواع درخواستها که در دستههای مختلف گروهبندی شدهاند، آورده شده است.
| درخواست شیء | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| ویژگیهای برچسب |
| ||||||||||
| میدان |
| ||||||||||
| انتخاب |
| ||||||||||
ماسکهای صحرایی
بسیاری از درخواستهای نوع "بهروزرسانی" و "غیرفعالسازی" نیاز به یک FieldMask دارند. این یک لیست جدا شده با کاما از فیلدهایی است که میخواهید بهروزرسانی کنید و سایر فیلدها را بدون تغییر بگذارید. این ماسک برای اطمینان از بهروزرسانی فقط فیلدهایی که میخواهید ویرایش کنید، لازم است. شما باید حداقل یک فیلد را مشخص کنید.
مثال
برای بهروزرسانی یک برچسب، از متد delta روی منبع labels استفاده کنید.
همچنین باید مشخص کنید:
پارامتر پرسوجوی
useAdminAccessبرای استفاده از اعتبارنامههای مدیر کاربر، رویtrueتنظیم شده است. قبل از اجازه دسترسی، سرور تأیید میکند که کاربر دارای امتیازات مدیریتی لازم برای مدیریت برچسبهای طبقهبندی است.Requestکه بهروزرسانیهای مربوط به برچسب را مشخص میکند.یک
titleبرچسب از طریق شیءProperties.یک یا چند شیء
Field.یک منبع
labelsکه نشان دهنده برچسب است. این منبع شامل یکnameو یکidاست که یک شناسه منحصر به فرد جهانی برای برچسب است.یک شیء
LabelViewبه عنوانLABEL_VIEW_FULLبرای تنظیم یک نمای منبع که برای پاسخهای برچسب اعمال میشود.LABEL_VIEW_FULLتمام فیلدهای ممکن را برمیگرداند.
نمونه کد زیر نحوه استفاده id برچسب برای بهروزرسانی برچسب صحیح را نشان میدهد:
پایتون
body = {
'useAdminAccess': True,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID'
).execute()
نود جی اس
var body = {
'useAdminAccess': true,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
name: 'labels/ID',
requestBody: body
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
موارد زیر را جایگزین کنید:
- TITLE : عنوان برچسب.
- DISPLAY_NAME : نام نمایشی فیلد.
- ID : شناسه برچسب.
برچسب، فیلد یا انتخاب بهروزرسانی میشود، شناسهٔ ویرایش برچسب افزایش مییابد و برچسب در پایگاه داده به عنوان برچسب پیشنویس ذخیره میشود. State برچسب PUBLISHED است و مقدار hasUnpublishedChanges روی true تنظیم شده است، به این معنی که تغییرات پیشنویس وجود دارد، اما برای کاربران در دسترس نیستند. برچسب بهروزرسانیشده باید قبل از اینکه تغییرات برای کاربران قابل مشاهده شود، PUBLISHED . برای اطلاعات بیشتر، به چرخهٔ حیات برچسب مراجعه کنید.