אפשר לעדכן תווית אחת על ידי החלת קבוצה של בקשות עדכון, וכתוצאה מכך
טיוטה חדשה. לדוגמה, אפשר לעדכן תווית קיימת
property (התווית
) או להוסיף
Field
לתווית.
עדכון התווית משמש כעדכון בכמות גדולה כאשר השיטה מתעדת רשימת עדכון
Request
אובייקטים. הוא
מבצע עדכונים בהתאם לאותו הסדר שצוין בבקשה באצווה.
עדכונים באצווה מוחלים באופן אטומי. כלומר, אם בקשה כלשהי
אצווה לא הצליחה, אז העדכון כולו נכשל ואף אחד
המערכת תחיל את השינויים (שעשויים להיות תלויים). התווית לא משתנה.
אם העדכון יסתיים בהצלחה, יש לפרסם את גרסת הטיוטה שנוצרת לפני שניתן יהיה להשתמש בשינויים עם פריט כלשהו ב-Drive.
עדכון אובייקטים של תוויות
תווית כוללת עוד סוגים רבים של אובייקטים שאפשר לעדכן, כמו:
- מאפייני תווית
- שדות וסוגי שדות
- אפשרויות בחירה ומאפייני בחירה
אלה כמה מהאובייקטים הרבים ששולטים במראה ובתפעול של תווית.
קטגוריות פעילות
הפעולות הבאות שנתמכות על ידי
השיטה labels.delta
יכולה להיות
יקובצו לקטגוריות הרחבות הבאות:
קטגוריה | תיאור |
---|---|
יצירה | הוספת אובייקטים. |
עדכון | עדכון מאפיינים מסוימים של אובייקט. |
הפעלה | הפעלת אובייקטים. |
השבתה | השבתת אובייקטים. |
מחיקה | הסרת אובייקטים. |
הקטגוריות האלה משמשות בקטע הבא כדי לתאר את ההתנהגות של פעולות ספציפיות.
בקשות עדכון
השיטה labels.delta
פועלת
אם תיקח אחד או יותר
בקשה לאובייקטים, כל
אחד שמציין סוג מסוים של בקשה לביצוע. יש הרבה דרכים שונות
סוגים שונים של בקשות. כאן מופיע פירוט של סוגי הבקשות, המקובצים לפי
קטגוריות שונות.
סוג הבקשה | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
מאפייני תוויות |
|
||||||||||
שדה |
|
||||||||||
בחירת אפשרות |
|
מסכות שדה
חלק גדול מנתוני ה'עדכון' וגם 'השבתה' בקשות מסוג טקסט מחייבות
FieldMask
זוהי רשימת שדות מופרדת בפסיקים של שדות שברצונך לעדכן
ושאר השדות ללא שינוי. המסכה נדרשת כדי לוודא רק את השדות
שרוצים לערוך עודכנו. עליך לציין לפחות שדה אחד.
דוגמה
כדי לעדכן תווית, משתמשים ב
delta
אוסף labels
.
צריך גם לציין:
useAdminAccess
הואtrue
כדי להשתמש בפרטי הכניסה של האדמין. השרת מאמת שהמשתמש הוא אדמין של התווית לפני שהוא מאפשר גישה.Request
מציין את העדכונים החלים בתווית.תווית
title
דרךproperty
.אחד או יותר
Field
.משאב תווית שמייצג כל תווית. הוא מכיל את המשאב
Name
ו-ID
, הוא מזהה ייחודי גלובלי של התווית.LabelView
הואLABEL_VIEW_FULL
כדי להגדיר את תצוגת המשאבים שהוחלה על תגובות לתוויות. הפונקציהLABEL_VIEW_FULL
תחזיר את כל השדות האפשריים.
בדוגמה הזו נשתמש ב-ID
כדי לעדכן את התווית הנכונה.
Python
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()
Node.js
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
לפני השינויים
הופכים לגלויים למשתמשים. אפשר לקרוא מידע נוסף במאמר בנושא תווית
במחזור החיים.