یک فیلد برچسب روی یک فایل تنظیم کنید

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