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

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

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

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

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

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

  • Properties برچسب
  • اشیاء Field و انواع فیلد
  • Choice انتخابی و Properties انتخاب انتخابی

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

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

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

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

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

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

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

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

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

بسیاری از درخواست‌های نوع "به‌روزرسانی" و "غیرفعال‌سازی" نیاز به یک 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 . برای اطلاعات بیشتر، به چرخهٔ حیات برچسب مراجعه کنید.