ביטול ההגדרה של שדה תווית בקובץ

בדף הזה נסביר איך לבטל את ההגדרה של תווית 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 של הקובץ שעבורו התוויות משויכות שונה.