בדף הזה מוסבר איך מגדירים תווית
Field
בסינגל
קובץ מ-Google Drive.
כדי להוסיף מטא-נתונים לקובץ על ידי הגדרת תווית לקובץ, משתמשים ב
files.modifyLabels
.
גוף הבקשה
מכיל מופע של
ModifyLabelsRequest
כדי לשנות את קבוצת התוויות בקובץ. הבקשה עשויה להכיל כמה
שעושים שינויים אטומיים. כלומר, אם בוצעו שינויים שלא
העדכון כולו ייכשל, ואף אחד
תלויים) הוחלו שינויים.
השדה ModifyLabelsRequest
מכיל מופע של
LabelModification
שינוי בתווית בקובץ. יכול להיות שהוא גם מכיל מופע.
מתוך
FieldModification
שינוי בשדה של תווית.
אם הפעולה מצליחה, התגובה
גוף מכיל
התוויות שנוספו או עודכנו בעקבות הבקשה. הן קיימות במסגרת
אובייקט modifiedLabels
מסוג Label
.
דוגמה
דוגמת הקוד הבאה מראה איך משתמשים ב-fieldId
של שדה טקסט כדי להגדיר
ערך עבור Field
חדש. כשתווית Field
מוגדרת בפעם הראשונה בקובץ, היא חלה עליו
את הקובץ. לאחר מכן ניתן לבטל את ההגדרה של שדה יחיד או להסיר את כל השדות שמשויכים אל
את התווית. למידע נוסף, ראו ביטול הגדרה של שדה תווית
קובץ והסרת תווית
.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));
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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()
Node.js
/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
// 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',
'setTextValues': ['VALUE'],
};
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. - VALUE: הערך החדש של
value
לשדה הזה. - LABEL_ID: ה-
labelId
של התווית שרוצים לשנות. - FILE_ID: ה-
fileId
של הקובץ שעבורו התוויות משויכות שונה.
הערות
- כדי להגדיר תווית ללא שדות, צריך להחיל את הערך
labelModifications
ללאfieldModifications
קיימים. - כדי להגדיר ערכים לאפשרויות של שדות בחירה, משתמשים בפונקציה
המזהה
Choice
של הערך שאפשר לקבל על ידי אחזור סכימת התוויות Drive Labels API. - אפשר להגדיר מספר ערכים רק בשדה
Field
שתומך ברשימות של ערכים, אחרת, תקבלו את התשובה עם השגיאה400: Bad Request
. - צריך להגדיר את סוג הערך הנכון עבור
Field
שנבחר (למשל מספר שלם, טקסט, משתמש וכו'), אחרת תקבל את הודעת השגיאה400: Bad Request
. אפשר לאחזר את סוג הנתונים בשדה באמצעות Drive Labels API.