כדי לעדכן תווית בודדת, אפשר להחיל קבוצה של בקשות עדכון וכך ליצור טיוטה חדשה של טיוטה. לדוגמה, תוכלו לעדכן מאפיין קיים של תווית (תיאור התווית) או להוסיף לתווית נכס Field
חדש.
עדכון התווית פועל כעדכון בכמות גדולה, מאחר שהשיטה משתמשת ברשימת אובייקטים של עדכון Request
. הוא מבצע עדכונים לפי הסדר שצוין בבקשת האצווה. העדכונים בכמות גדולה מיושמים באופן אטומי. כלומר, אם בקשה כלשהי באצווה לא מצליחה, העדכון כולו ייכשל ואף אחד מהשינויים (שעשויים להיות תלויים בו). התווית נשארת ללא שינוי.
אם העדכון בוצע בהצלחה, תחילה צריך לפרסם את טיוטת הטיוטה שהתקבלה כדי להשתמש בשינויים עם כל פריט ב-Drive.
עדכון אובייקטים של תווית
תווית כוללת סוגי אובייקטים רבים נוספים שניתן לעדכן, כמו:
- מאפייני תוויות
- שדות וסוגי שדות
- אפשרויות בחירה ומאפיינים של אפשרות בחירה
אלו הם חלק מהאובייקטים הרבים ששולטים במראה ובפעולה של תוויות.
קטגוריות פעילות
ניתן לקבץ את הפעולות הבאות שנתמכות ב-method labels.delta
לקטגוריות הרחבות הבאות:
קטגוריה | התיאור |
---|---|
יצירה | הוספת אובייקטים. |
עדכון | עדכון מאפיינים מסוימים של אובייקט. |
הפעלה | הפעלת אובייקטים. |
השבתה | השבתת אובייקטים. |
מחיקה | הסרת אובייקטים. |
בקטע הבא אנחנו משתמשים בקטגוריות האלה כדי לתאר את ההתנהגות של פעולות ספציפיות.
בקשות עדכון
השיטה labels.delta
משתמשת באובייקט Request אחד או יותר, שבכל אחד מהם מצוין סוג אחד של בקשה לביצוע. יש סוגים רבים ושונים של בקשות. לפניכם פירוט של סוגי הבקשות. הן מקובצות לקטגוריות שונות.
סוג הבקשה | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
מאפייני תוויות |
|
||||||||||
שדה |
|
||||||||||
אפשרות הבחירה |
|
מסכות שדה
רבות מהבקשות מסוג "עדכון" ו "השבתה" מצריכות שימוש ב-FieldMask
.
זאת רשימה מופרדת בפסיקים של שדות שרוצים לעדכן, אבל משאירים את שאר השדות ללא שינוי. צריך לבצע את המסכה כדי לעדכן רק את השדות שרוצים לערוך. עליך לציין לפחות שדה אחד.
דוגמה
כדי לעדכן תווית, משתמשים ב-method delta
באוסף labels
.
בנוסף, צריך לציין את הפרטים הבאים:
useAdminAccess
true
לשימוש בפרטי הכניסה של מנהל המערכת של המשתמש. השרת מאמת שהמשתמש הוא אדמין בתווית לפני שהוא מאפשר גישה.Request
שמציין את העדכונים הרלוונטיים לתווית.תווית
title
באמצעות ה-methodproperty
.אחד או יותר
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
. למידע נוסף, ראו מחזור חיים של תוויות.