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