این صفحه نحوه تنظیم یک برچسب 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();
پایتون
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 بازیابی کنید.