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

این صفحه نحوه تنظیم Field برچسب روی یک فایل گوگل درایو را شرح می‌دهد.

برای افزودن فراداده به یک فایل با تنظیم برچسب فایل، از متد 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()

نود جی اس

/**
* 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 ، برچسب را با استفاده از API برچسب‌های گوگل درایو بازیابی کنید.
  • VALUE : value جدید برای این فیلد.
  • LABEL_ID : labelId برچسب (labelId) که قرار است تغییر کند.
  • FILE_ID : fileId فایلی که برچسب‌ها برای آن تغییر داده شده‌اند.

یادداشت‌ها

  • برای تنظیم برچسبی بدون فیلد، labelModifications بدون وجود fieldModifications اعمال کنید.
  • برای تنظیم مقادیر گزینه‌های فیلد انتخاب، از شناسه Choice id) مقداری که می‌توانید با واکشی طرح برچسب در Drive Labels API دریافت کنید، استفاده کنید.
  • فقط Field که از لیست مقادیر پشتیبانی می‌کند، می‌تواند چندین مقدار تنظیم کند، در غیر این صورت با خطای 400: Bad Request مواجه خواهید شد.
  • نوع داده‌ی Field انتخاب شده را به درستی تنظیم کنید (مانند عدد صحیح، متن، کاربر و غیره)، در غیر این صورت با خطای 400: Bad Request مواجه خواهید شد. می‌توانید نوع داده‌ی فیلد را با استفاده از Drive Labels API بازیابی کنید.