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

בדף הזה מוסבר איך להסיר תווית מקובץ יחיד ב-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 של התווית שרוצים לשנות. כדי לאתר את התוויות בקובץ, משתמשים בשיטה files.listLabels.
  • FILE_ID: ה-fileId של הקובץ שהתוויות שלו ישונו.