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

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