این صفحه نحوهی لغو تنظیم Field برچسب در یک فایل گوگل درایو را شرح میدهد.
برای حذف متادیتا از یک فایل با حذف برچسب فایل، از متد files.modifyLabels استفاده کنید. بدنه درخواست شامل نمونهای از ModifyLabelsRequest برای تغییر مجموعه برچسبها روی یک فایل است. درخواست ممکن است شامل چندین تغییر باشد که به صورت خودکار اعمال میشوند. یعنی اگر هر تغییری معتبر نباشد، کل بهروزرسانی ناموفق است و هیچ یک از تغییرات (که به طور بالقوه وابسته هستند) اعمال نمیشوند.
درخواست ModifyLabelsRequest شامل نمونهای از LabelModification است که اصلاحیهای بر روی یک برچسب در یک فایل است. همچنین ممکن است شامل نمونهای از FieldModification باشد که اصلاحیهای بر فیلد یک برچسب است. برای لغو مقادیر فیلد، FieldModification.unsetValues را روی True تنظیم کنید.
در صورت موفقیت، بدنه پاسخ شامل برچسبهای اضافه شده یا بهروزرسانی شده توسط درخواست است. این برچسبها درون یک شیء modifiedLabels از نوع Label وجود دارند.
مثال
نمونه کد زیر نحوه استفاده از fieldId و labelId را برای لغو تنظیم مقادیر فیلد در fileId مرتبط نشان میدهد. برای مثال، اگر یک برچسب شامل فیلدهای متنی و کاربری باشد، لغو تنظیم فیلد متنی آن را از برچسب حذف میکند اما فیلد کاربری را دست نخورده باقی میگذارد. در حالی که حذف یک برچسب، هر دو فیلد متنی و کاربری مرتبط با برچسب را حذف میکند. برای اطلاعات بیشتر، به حذف یک برچسب از یک فایل مراجعه کنید.
جاوا
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();
پایتون
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();
نود جی اس
/**
* 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، برچسب را با استفاده از API برچسبهای گوگل درایو بازیابی کنید. - LABEL_ID : شناسه برچسب
labelIdکه قرار است تغییر کند. - FILE_ID :
fileIdفایلی که برچسبها برای آن تغییر داده شدهاند.