ضبط حقل تصنيف على ملف

توضّح هذه الصفحة كيفية ضبط تصنيف Field على ملف واحد في Google Drive.

لإضافة بيانات وصفية إلى ملف من خلال ضبط تصنيف ملف، استخدِم طريقة files.modifyLabels. يحتوي نص الطلب على مثال ModifyLabelsRequest لتعديل مجموعة التصنيفات على ملف. قد يحتوي الطلب على عدة تعديلات يتم تطبيقها بشكل متكامل. أي إذا كانت أي تعديلات غير صالحة، لن ينجح التعديل بالكامل ولن يتم تطبيق أي من التغييرات (التي قد تكون مرتبطة).

يحتوي ModifyLabelsRequest على مثال LabelModification وهو تعديل على تصنيف في ملف. قد يحتوي أيضًا على مثال من FieldModification وهو تعديل على حقل تصنيف.

إذا كانت الاستجابة ناجحة، يحتوي نص الاستجابة على التصنيفات التي أضافها الطلب أو عدّلها. تظهر هذه التصنيفات ضمن عنصر modifiedLabels من النوع Label.

مثال

يعرض نموذج الرمز التالي كيفية استخدام fieldId لحقل نص لضبط قيمة لهذا Field في ملف. عند ضبط Field تصنيف لأول مرة على ملف، يتم تطبيق التصنيف على الملف. يمكنك بعد ذلك إلغاء ضبط حقل واحد أو إزالة جميع الحقول المرتبطة بالتصنيف. لمزيد من المعلومات، يُرجى الاطّلاع على إلغاء ضبط حقل تصنيف في ملف وإزالة تصنيف من ملف.

جافا

LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));

ModifyLabelsRequest modifyLabelsRequest =
  new ModifyLabelsRequest()
      .setLabelModifications(
          ImmutableList.of(
              new LabelModification()
                .setLabelId("LABEL_ID")
                .setFieldModifications(ImmutableList.of(fieldModification))));

ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();

Python

field_modification = {'fieldId':'FIELD_ID','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()

Node.js

/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
  // Get credentials and build service
  // TODO (developer) - Use appropriate auth mechanism for your app

  const {GoogleAuth} = require('google-auth-library');
  const {google} = require('googleapis');

  const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
  const service = google.drive({version: 'v3', auth});
  const fieldModification = {
    'fieldId': 'FIELD_ID',
    'setTextValues': ['VALUE'],
  };
  const labelModification = {
    'labelId': 'LABEL_ID',
    'fieldModifications': [fieldModification],
  };
  const labelModificationRequest = {
    'labelModifications': [labelModification],
  };
  try {
    const updateResponse = await service.files.modifyLabels({
      fileId: 'FILE_ID',
      resource: labelModificationRequest,
    });
    return updateResponse;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

غيِّر القيم في السلسلة على الشكل التالي:

  • FIELD_ID: الـ fieldId للحقل المطلوب تعديله. للعثور على fieldId، استرجِع التصنيف باستخدام Google Drive Labels API.
  • VALUE: الـ value الجديد لهذا الحقل.
  • LABEL_ID: labelId للتصنيف المطلوب تعديله.
  • FILE_ID: fileId للملف الذي تم تعديل تصنيفاته.

ملاحظات

  • لضبط تصنيف بدون حقول، طبِّق labelModifications بدون أي fieldModifications.
  • لضبط قيم خيارات حقل الاختيار، استخدِم رقم تعريف Choice القيمة التي يمكنك الحصول عليها من خلال جلب مخطط التصنيف في Drive Labels API.
  • لا يمكن ضبط قيم متعددة إلا لـ Field يتيح قوائم القيم، وإلا ستتلقّى استجابة خطأ 400: Bad Request.
  • اضبط نوع القيمة المناسب لـ Field المحدّد (مثل عدد صحيح أو نص أو مستخدم وما إلى ذلك)، وإلا ستتلقّى استجابة خطأ 400: Bad Request يمكنك استرجاع نوع بيانات الحقل باستخدام الـ Drive Labels API.