כדי לעדכן תווית אחת, אפשר להחיל קבוצה של בקשות עדכון שייצרו טיוטה חדשה. לדוגמה, אפשר לעדכן מאפיין של תווית קיימת (תיאור התווית) או להוסיף Field
חדש לתווית.
עדכון התווית פועל כעדכון באצווה, כי השיטה מקבלת רשימה של אובייקטים של עדכון Request
. המערכת מבצעת את העדכונים לפי אותו סדר שצוין בבקשה האצווה. העדכונים בעדכון האצווה חלים באופן אטומי. כלומר, אם בקשה כלשהי באצווה נכשלת, כל העדכון נכשל ואף אחד מהשינויים (שעשויים להיות תלויים) לא יוחל. התווית לא משתנה.
אם העדכון בוצע בהצלחה, צריך לפרסם את הטיוטה המתוקנת שנוצרה כדי שאפשר יהיה להשתמש בשינויים בכל פריט ב-Drive.
עדכון אובייקטים של תוויות
תווית כוללת סוגים רבים אחרים של אובייקטים שאפשר לעדכן, כמו:
- מאפייני התווית
- שדות וסוגים של שדות
- אפשרויות בחירה ומאפייני אפשרויות בחירה
אלה כמה מהאובייקטים הרבים ששולטים במראה ובפעולה של תווית.
קטגוריות של פעולות
אפשר לקבץ את הפעולות הבאות שנתמכות בשיטה labels.delta
לקטגוריות הרחבות הבאות:
קטגוריה | תיאור |
---|---|
יצירה | מוסיפים אובייקטים. |
עדכון | עדכון מאפיינים מסוימים של אובייקט. |
הפעלה | מפעילים את האובייקטים. |
השבתה | להשבית אובייקטים. |
מחיקה | הסרת אובייקטים. |
הקטגוריות האלה משמשות בקטע הבא לתיאור ההתנהגות של פעולות ספציפיות.
בקשות לעדכון
השיטה labels.delta
פועלת על ידי העברת אובייקט Request אחד או יותר, וכל אחד מהם מציין סוג בקשה יחיד לביצוע. יש סוגים רבים של בקשות. לפניכם פירוט של סוגי הבקשות, שמקובצים בקטגוריות שונות.
סוג הבקשה | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
מאפייני תוויות | |||||||||||
שדה |
|
||||||||||
Selection Choice |
מסכות שדות
בחלק גדול מהבקשות מסוג 'עדכון' ו'השבתה' נדרש FieldMask
.
זוהי רשימה מופרדת בפסיקים של השדות שרוצים לעדכן, בלי לשנות את השדות האחרים. המסכה נדרשת כדי לוודא שרק השדות שרוצים לערוך מתעדכנים. צריך לציין שדה אחד לפחות.
דוגמה
כדי לעדכן תווית, משתמשים ב-method delta
באוסף labels
.
בנוסף, צריך לציין את הפרטים הבאים:
useAdminAccess
הואtrue
כדי להשתמש בפרטי הכניסה של המשתמש כאדמין. לפני שהשרת מאפשר גישה, הוא מוודא שהמשתמש הוא אדמין של התווית.Request
שמציין את העדכונים הרלוונטיים לתווית.תווית
title
באמצעות השיטהproperty
.Field
אחד או יותר.משאב תווית שמייצג כל תווית. הוא מכיל את המשאבים
Name
ו-ID
, שהוא מזהה ייחודי גלובלי של התווית.LabelView
הוא הערךLABEL_VIEW_FULL
להגדרת תצוגת המשאב שתחול על תגובות לתוויות. הפונקציהLABEL_VIEW_FULL
מחזירה את כל השדות האפשריים.
בדוגמה הזו נעשה שימוש ב-ID
כדי לעדכן את התווית הנכונה.
body = {
'use_admin_access': True,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE '
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME '
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID ').execute()
var body = {
'use_admin_access': true,
'requests': [{
'update_label': {
'properties': {
'title': 'TITLE '
},
'update_mask': {
'paths': ['title']
}
},
}, {
'create_field': {
'field': {
'properties': {
'display_name': 'DISPLAY_NAME '
},
'text_options': {}
}
}
}],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
'resource': body,
'name': 'labels/ID '
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
התווית, השדה או הבחירה מתעדכנים, מזהה הגרסה של התווית עולה והתווית מאוחסנת במסד נתונים כטיוטת תווית. התווית כוללת את הערך State
של PUBLISHED
עם הערך hasUnpublishedChanges=true
, כלומר יש טיוטות של שינויים אבל הן לא זמינות למשתמשים. התווית המעודכנת צריכה להיות בסטטוס PUBLISHED
כדי שהשינויים יהיו גלויים למשתמשים. מידע נוסף זמין במאמר מחזור החיים של תוויות.