更新標籤

您可以套用一組更新要求來更新單一標籤,這會產生新的草稿修訂版本。舉例來說,您可以更新現有標籤的屬性 (標籤說明),也可以在標籤中新增 Field

標籤更新會做為批次更新,因為該方法會採用更新 Request 物件的清單。並依照批次要求中指定的順序進行更新。系統會以不可分割的形式套用批次更新中的更新。也就是說,如果批次中的任何要求失敗,整個更新作業就會失敗,且不會套用任何 (可能依附的) 變更。標籤則維持不變。

如果更新成功,則必須發布產生的草稿修訂版本,才能將變更套用至任何 Google 雲端硬碟項目。

更新標籤物件

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

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

這些是控制標籤外觀和運作的眾多物件中的一部分。

作業類別

labels.delta 方法支援的下列作業可分為以下幾大類別:

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

這些類別會在下一節中用於說明特定作業的行為。

更新要求

labels.delta 方法會採用一或多個 Request 物件,每個物件都會指定要執行的單一類型要求。要求有許多不同的類型。以下是請求類型細目,並分為不同類別。

欄位遮罩

許多「更新」和「停用」類型的要求都需要 FieldMask。這是以半形逗號分隔的欄位清單,您可以更新其中的欄位,而其他欄位則保持不變。遮罩是必要條件,可確保系統只更新您要編輯的欄位。您必須至少指定一個欄位。

範例

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

您也必須指定下列項目:

  • useAdminAccesstrue,用於使用使用者的管理員憑證。在允許存取權之前,伺服器會先驗證使用者是否為標籤的管理員。

  • 指定標籤適用更新的 Request

  • 透過 property 方法設定的標籤 title

  • 一或多個 Field

  • 代表每個標籤的標籤資源。其中包含資源 NameID,這是標籤的全域專屬 ID。

  • LabelViewLABEL_VIEW_FULL,用於設定套用至標籤回應的資源檢視畫面。LABEL_VIEW_FULL 會傳回所有可能的欄位。

本範例使用 ID 更新正確的標籤。

PythonNode.js
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);
});

標籤、欄位或選項會更新,標籤的修訂 ID 會增加,標籤會儲存在資料庫中做為草稿標籤。標籤具有 PUBLISHEDState,其中 hasUnpublishedChanges=true 表示草稿有變更,但使用者無法存取。更新的標籤必須是 PUBLISHED,使用者才能看到變更。詳情請參閱「標籤生命週期」。