הסרת תווית מקובץ

בדף הזה נסביר איך מסירים תווית מקובץ יחיד ב-Google Drive.

כדי להסיר את המטא-נתונים של תווית הקובץ מקובץ, משתמשים בשיטה files.modifyLabels. גוף הבקשה מכיל מופע של ModifyLabelsRequest כדי לשנות את קבוצת התוויות בקובץ. הבקשה עשויה להכיל כמה שינויים שחלים באופן אטומי. כלומר, אם שינויים מסוימים לא תקינים, העדכון כולו ייכשל ולא תחול אף שינוי (שעשוי להיות תלוי).

השדה ModifyLabelsRequest מכיל מופע של LabelModification, שהוא שינוי בתווית בקובץ. היא יכולה גם להכיל מופע של FieldModification, שהוא שינוי בשדה של תווית. כדי להסיר את התווית מהקובץ, צריך להגדיר את FieldModification.removeLabel ל-True.

אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל את התוויות שנוספו או עודכנו על ידי הבקשה. הם נמצאים באובייקט modifiedLabels מסוג Label.

דוגמה

בדוגמת הקוד הבאה מוסבר איך להשתמש ב-labelId כדי להסיר את כל השדות המשויכים לתווית באמצעות fileId. לדוגמה, אם תווית מכילה גם שדות טקסט וגם שדות משתמשים, הסרת התווית תמחק גם את שדות הטקסט וגם את שדות המשתמשים שמשויכים לתווית. לעומת זאת, ביטול ההגדרה של שדה הטקסט מסיר אותו מהתווית אבל לא נגע בשדה המשתמש. מידע נוסף זמין במאמר ביטול הגדרה של שדה תווית בקובץ.

Java

ModifyLabelsRequest modifyLabelsRequest =
  new ModifyLabelsRequest()
      .setLabelModifications(
          ImmutableList.of(
              new LabelModification()
                .setLabelId("LABEL_ID")
                .setRemoveLabel(true)));

ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();

Python

label_modification = {'labelId':'LABEL_ID', 'removeLabel': True]}

modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();

Node.js

/**
* Remove a label on a Drive file
* @return{obj} updated label data
**/
async function removeLabel() {
  // 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 labelModification = {
    'labelId': 'LABEL_ID',
    'removeLabel': True,
  };
  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;
  }

מחליפים את מה שכתוב בשדות הבאים:

  • LABEL_ID: ה-labelId של התווית שרוצים לשנות. כדי לאתר את התוויות בקובץ, משתמשים ב-method‏ files.listLabels.
  • FILE_ID: ה-fileId של הקובץ שעבורו משנים את התוויות.