עדכון תווית

כדי לעדכן תווית אחת, אפשר להחיל קבוצה של בקשות עדכון שייצרו טיוטה חדשה. לדוגמה, אפשר לעדכן מאפיין של תווית קיימת (תיאור התווית) או להוסיף Field חדש לתווית.

עדכון התווית פועל כעדכון באצווה, כי השיטה מקבלת רשימה של אובייקטים של עדכון Request. המערכת מבצעת את העדכונים לפי אותו סדר שצוין בבקשה האצווה. העדכונים בעדכון האצווה חלים באופן אטומי. כלומר, אם בקשה כלשהי באצווה נכשלת, כל העדכון נכשל ואף אחד מהשינויים (שעשויים להיות תלויים) לא יוחל. התווית לא משתנה.

אם העדכון בוצע בהצלחה, צריך לפרסם את הטיוטה המתוקנת שנוצרה כדי שאפשר יהיה להשתמש בשינויים בכל פריט ב-Drive.

עדכון אובייקטים של תוויות

תווית כוללת סוגים רבים אחרים של אובייקטים שאפשר לעדכן, כמו:

  • מאפייני התווית
  • שדות וסוגים של שדות
  • אפשרויות בחירה ומאפייני אפשרויות בחירה

אלה כמה מהאובייקטים הרבים ששולטים במראה ובפעולה של תווית.

קטגוריות של פעולות

אפשר לקבץ את הפעולות הבאות שנתמכות בשיטה labels.delta לקטגוריות הרחבות הבאות:

קטגוריה תיאור
יצירהמוסיפים אובייקטים.
עדכוןעדכון מאפיינים מסוימים של אובייקט.
הפעלהמפעילים את האובייקטים.
השבתהלהשבית אובייקטים.
מחיקההסרת אובייקטים.

הקטגוריות האלה משמשות בקטע הבא לתיאור ההתנהגות של פעולות ספציפיות.

בקשות לעדכון

השיטה labels.delta פועלת על ידי העברת אובייקט Request אחד או יותר, וכל אחד מהם מציין סוג בקשה יחיד לביצוע. יש סוגים רבים של בקשות. לפניכם פירוט של סוגי הבקשות, שמקובצים בקטגוריות שונות.

מסכות שדות

בחלק גדול מהבקשות מסוג 'עדכון' ו'השבתה' נדרש 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 כדי שהשינויים יהיו גלויים למשתמשים. מידע נוסף זמין במאמר מחזור החיים של תוויות.