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

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