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