إلغاء ضبط حقل تصنيف على ملف

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

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

يحتوي ModifyLabelsRequest على مثال LabelModification، وهو تعديل لتصنيف على ملف. قد يحتوي أيضًا على مثال FieldModification وهو تعديل في حقل التصنيف. لإلغاء ضبط قيم الحقل، اضبط FieldModification.unsetValues على True.

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

مثال

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

Java

LabelFieldModification fieldModification =
  new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);

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','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

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

Node.js

/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
  // 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',
    'unsetValues': True,
  };
  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 label API.
  • LABEL_ID: السمة labelId للتصنيف المطلوب تعديله.
  • FILE_ID: السمة fileId للملف الذي تم تعديل التصنيفات له