تعديل تصنيف

يمكنك تعديل تصنيف واحد باستخدام Google Drive Labels API من خلال تطبيق مجموعة من طلبات التعديل التي تؤدي إلى إنشاء مسودة جديدة. على سبيل المثال، يمكنك تعديل تصنيف حالي Properties (وصف التصنيف الأساسي) أو يمكنك إضافة Field جديد إلى التصنيف.

يعمل تعديل التصنيف كتعديل مجمّع لأنّ الطريقة تتضمّن قائمة بكائنات التعديل Request ويتم إجراء التعديلات وفقًا للترتيب نفسه المحدّد في طلب الدفعة. يتم تطبيق التعديلات في التعديل المجمّع بشكل متكامل. وهذا يعني أنّه في حال عدم نجاح أي طلب في المجموعة، لن تنجح عملية التعديل بأكملها ولن يتم تطبيق أي من التغييرات (التي قد تكون مرتبطة ببعضها). يبقى التصنيف بدون تغيير.

في حال نجاح التحديث، يجب نشر المسودّة المعدَّلة الناتجة قبل أن يمكن استخدام التغييرات مع أي عنصر في Google Drive.

تعديل عناصر التصنيف

يتضمّن التصنيف العديد من أنواع العناصر الأخرى التي يمكن تعديلها، مثل:

  • تصنيف Properties
  • Field عناصر وأنواع حقول
  • الخيار Choice وخيار التحديد Properties

في ما يلي بعض العناصر العديدة التي تتحكّم في مظهر التصنيف وطريقة عمله.

فئات العمليات

يمكن تجميع العمليات التالية التي تتيحها الطريقة delta في المورد labels ضمن الفئات العامة التالية:

الفئة الوصف
الإنشاءأضِف عناصر.
تعديلتعديل بعض خصائص أحد العناصر
تفعيلفعِّل العناصر.
إيقافإيقاف العناصر
حذفإزالة العناصر

يتم استخدام هذه الفئات في القسم التالي لوصف سلوك عمليات معيّنة.

طلبات التعديل

تعمل طريقة delta من خلال أخذ عنصر واحد أو أكثر من عناصر الطلب، ويحدّد كل عنصر نوعًا واحدًا من الطلبات المطلوب تنفيذها. هناك العديد من أنواع الطلبات المختلفة. في ما يلي تفصيل لأنواع الطلبات، مجمّعة في فئات مختلفة.

عنصر الطلب
خصائص التصنيف
تعديل UpdateLabelPropertiesRequest
الحقل
الإنشاء CreateFieldRequest
تعديل UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
تفعيل EnableFieldRequest
إيقاف DisableFieldRequest
حذف DeleteFieldRequest
اختيار التحديد
الإنشاء CreateSelectionChoiceRequest
تعديل UpdateSelectionChoicePropertiesRequest
تفعيل EnableSelectionChoiceRequest
إيقاف DisableSelectionChoiceRequest
حذف DeleteSelectionChoiceRequest

أقنعة الحقول

تتطلّب العديد من الطلبات من النوع "تعديل" و "إيقاف" FieldMask. هذه قائمة مفصولة بفواصل للحقول التي تريد تعديلها مع ترك الحقول الأخرى بدون تغيير. القناع مطلوب للتأكّد من تعديل الحقول التي تريد تعديلها فقط. يجب تحديد حقل واحد على الأقل.

مثال

لتعديل تصنيف، استخدِم طريقة delta في مورد labels.

يجب أيضًا تحديد ما يلي:

  • تم ضبط مَعلمة طلب البحث useAdminAccess على true لاستخدام بيانات اعتماد المشرف الخاصة بالمستخدم. قبل السماح بالوصول، يتأكّد الخادم من أنّ المستخدم لديه امتيازات المشرف المطلوبة إدارة تصنيفات.

  • Request الذي يحدّد التعديلات السارية على التصنيف.

  • تصنيف title من خلال العنصر Properties

  • عنصر واحد أو أكثر من عناصر Field

  • تمثّل هذه السمة مورد labels يمثّل التصنيف. يتضمّن هذا العنصر name و id، وهو معرّف فريد عالميًا للتسمية.

  • عنصر LabelView كـ LABEL_VIEW_FULL لضبط طريقة عرض المورد التي يتم تطبيقها على ردود التصنيفات. تعرض LABEL_VIEW_FULL جميع الحقول الممكنة.

يوضّح نموذج الرمز التالي كيفية استخدام id الخاص بالتصنيف لتعديل التصنيف الصحيح:

Python

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()

Node.js

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 قبل أن تصبح التغييرات مرئية للمستخدمين. لمزيد من المعلومات، يُرجى الاطّلاع على دورة حياة التصنيف.