בדף הזה נסביר איך לבטל את ההגדרה של תווית
Field
בסינגל
קובץ מ-Google Drive.
כדי להסיר מטא-נתונים מקובץ על ידי ביטול ההגדרה של תווית קובץ, צריך להשתמש ב
files.modifyLabels
.
גוף הבקשה
מכיל מופע של
ModifyLabelsRequest
כדי לשנות את קבוצת התוויות בקובץ. הבקשה עשויה להכיל כמה
שעושים שינויים אטומיים. כלומר, אם בוצעו שינויים שלא
העדכון כולו ייכשל, ואף אחד
תלויים) הוחלו שינויים.
השדה ModifyLabelsRequest
מכיל מופע של
LabelModification
שינוי בתווית בקובץ. יכול להיות שהוא גם מכיל מופע.
מתוך
FieldModification
שינוי בשדה של תווית. כדי לבטל את הגדרת הערכים בשדה:
להגדיר את FieldModification.unsetValues
להיות True
.
אם הפעולה מצליחה, התגובה
גוף מכיל
התוויות שנוספו או עודכנו בעקבות הבקשה. הן קיימות במסגרת
אובייקט modifiedLabels
מסוג Label
.
דוגמה
דוגמת הקוד הבאה ממחישה איך להשתמש ב-fieldId
וב-labelId
כדי לבטל את ההגדרה
ערכי השדה ב-fileId
המשויך. לדוגמה, אם תווית כוללת
גם שדות טקסט וגם שדות משתמשים, ביטול הגדרה של שדה הטקסט מסיר אותו מהתווית
אבל משאיר את שדה המשתמש ללא שינוי. ואילו הסרת תווית מוחקת גם את
שדות טקסט ומשתמשים שמשויכים לתווית. מידע נוסף זמין במאמר הבא:
הסרת תווית מקובץ.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setFieldModifications(ImmutableList.of(fieldModification))));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
field_modification = {'fieldId':'FIELD_ID','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
// 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 fieldModification = {
'fieldId': 'FIELD_ID',
'unsetValues': True,
};
const labelModification = {
'labelId': 'LABEL_ID',
'fieldModifications': [fieldModification],
};
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;
}
}
מחליפים את מה שכתוב בשדות הבאים:
- FIELD_ID: ה-
fieldId
של השדה שרוצים לשנות. כדי לאתרfieldId
, מאחזרים את התווית באמצעות Google Drive Labels API. - LABEL_ID: ה-
labelId
של התווית שרוצים לשנות. - FILE_ID: ה-
fileId
של הקובץ שעבורו התוויות משויכות שונה.