更新標籤

您可以更新單一標籤,方法是套用一組更新要求, 或是建立新的草稿修訂版本例如,您可以更新現有標籤 property (標籤 說明) 或新增 加上 Field 標記移至標籤。

新標籤會接收更新清單,因此標籤更新等同於批次更新 Request 物件。這項服務 會根據批次要求中指定的相同順序進行更新。 系統會以不可分割的形式套用批次更新中的更新也就是說,如果 批次更新失敗,則整批更新也失敗 。標籤不會變更。

如果更新成功,最終的草稿修訂版本就必須發布 才能將這些變更套用至任何雲端硬碟項目。

更新標籤物件

標籤包含許多其他可以更新的物件類型,例如:

  • 標籤屬性
  • 欄位和欄位類型
  • 選取選項和選項內容屬性

這些是許多控制應用程式外觀與作業的物件 標籤。

作業類別

下列作業是由 labels.delta 方法可以是 共分為下列幾種廣泛類別:

類別 說明
建立新增物件。
更新更新物件的特定屬性。
啟用啟用物件。
停用停用物件。
刪除移除物件。

下一節會運用這些類別,說明 特定作業。

更新要求

labels.delta 方法可正常運作 以完成 Request 物件, 一個指定要執行的單一要求類型。有許多不同的 提出這項要求下表按要求類型分類 不同的類別

要求類型
標籤屬性
更新 UpdateLabelPropertiesRequest
欄位
建立 CreateFieldRequest
更新 UpdateFieldPropertiesRequest
UpdateFieldTypeRequest
啟用 EnableFieldRequest
停用 DisableFieldRequest
刪除 DeleteFieldRequest
選擇項目
建立 CreateSelectionChoiceRequest
更新 UpdateSelectionChoicePropertiesRequest
啟用 EnableSelectionChoiceRequest
停用 DisableSelectionChoiceRequest
刪除 DeleteSelectionChoiceRequest

欄位遮罩

許多「更新」和「停用」類型要求 FieldMask。 這是您要在 其他欄位保持不變必須使用遮罩,才能確保只有自己輸入的欄位 所做的編輯都會更新您必須指定至少一個欄位。

範例

如要更新標籤,請使用 delta 方法 labels 集合。

您也必須指定:

  • useAdminAccesstrue,將會使用使用者的管理員憑證。 伺服器會先驗證使用者是否是該標籤的管理員 資源存取權

  • 內含的 Request 會指定適用的更新項目。

  • 使用 title 標籤 property 方法。

  • 一或多個 Field

  • 標籤資源 代表所有標籤其中包含資源 NameID, 是標籤的全域不重複 ID

  • LabelViewLABEL_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);
});

標籤、欄位或選項更新時,標籤的修訂版本 ID 會遞增。 標籤會以草稿標籤的形式儲存在資料庫中標籤中有 第 State 列,共 PUBLISHED 列,其中包含 hasUnpublishedChanges=true,表示變更有草稿,但不是 使用者可使用的資源更新後的標籤必須PUBLISHED,才能進行變更 對使用者的顯示詳情請參閱「標籤 生命週期