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

توضّح هذه الصفحة طريقة إلغاء ضبط تصنيف 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 Categories API.
  • LABEL_ID: labelId للتصنيف المطلوب تعديله.
  • FILE_ID: fileId من الملف الذي تم تعديل التصنيفات له.