עדכון תווית

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

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

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

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

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

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

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

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

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

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

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

בקשות עדכון

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

סוג הבקשה
מאפייני תוויות
עדכון UpdateLabelPropertiesRequest
שדה
יצירה CreateFieldRequest
עדכון UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
הפעלה EnableFieldRequest
השבתה DisableFieldRequest
מחיקה DeleteFieldRequest
אפשרות הבחירה
יצירה CreateSelectionChoiceRequest
עדכון UpdateSelectionChoicePropertiesRequest
הפעלה EnableSelectionChoiceRequest
השבתה DisableSelectionChoiceRequest
מחיקה DeleteSelectionChoiceRequest

מסכות שדה

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

דוגמה

כדי לעדכן תווית, משתמשים ב-method delta באוסף labels.

בנוסף, צריך לציין את הפרטים הבאים:

  • useAdminAccess true לשימוש בפרטי הכניסה של מנהל המערכת של המשתמש. השרת מאמת שהמשתמש הוא אדמין בתווית לפני שהוא מאפשר גישה.

  • Request שמציין את העדכונים הרלוונטיים לתווית.

  • תווית title באמצעות ה-method 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. למידע נוסף, ראו מחזור חיים של תוויות.