您可以更新單一標籤,方法是套用一組更新要求,
或是建立新的草稿修訂版本例如,您可以更新現有標籤
property (標籤
說明) 或新增
加上 Field
標記移至標籤。
新標籤會接收更新清單,因此標籤更新等同於批次更新
Request
物件。這項服務
會根據批次要求中指定的相同順序進行更新。
系統會以不可分割的形式套用批次更新中的更新也就是說,如果
批次更新失敗,則整批更新也失敗
。標籤不會變更。
如果更新成功,最終的草稿修訂版本就必須發布 才能將這些變更套用至任何雲端硬碟項目。
更新標籤物件
標籤包含許多其他可以更新的物件類型,例如:
- 標籤屬性
- 欄位和欄位類型
- 選取選項和選項內容屬性
這些是許多控制應用程式外觀與作業的物件 標籤。
作業類別
下列作業是由
labels.delta
方法可以是
共分為下列幾種廣泛類別:
類別 | 說明 |
---|---|
建立 | 新增物件。 |
更新 | 更新物件的特定屬性。 |
啟用 | 啟用物件。 |
停用 | 停用物件。 |
刪除 | 移除物件。 |
下一節會運用這些類別,說明 特定作業。
更新要求
labels.delta
方法可正常運作
以完成
Request 物件,
一個指定要執行的單一要求類型。有許多不同的
提出這項要求下表按要求類型分類
不同的類別
欄位遮罩
許多「更新」和「停用」類型要求
FieldMask
。
這是您要在
其他欄位保持不變必須使用遮罩,才能確保只有自己輸入的欄位
所做的編輯都會更新您必須指定至少一個欄位。
範例
如要更新標籤,請使用
delta
方法
labels
集合。
您也必須指定:
useAdminAccess
:true
,將會使用使用者的管理員憑證。 伺服器會先驗證使用者是否是該標籤的管理員 資源存取權內含的
Request
會指定適用的更新項目。使用
title
標籤property
方法。一或多個
Field
。標籤資源 代表所有標籤其中包含資源
Name
和ID
, 是標籤的全域不重複 IDLabelView
是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);
});
標籤、欄位或選項更新時,標籤的修訂版本 ID 會遞增。
標籤會以草稿標籤的形式儲存在資料庫中標籤中有
第 State
列,共 PUBLISHED
列,其中包含
hasUnpublishedChanges=true
,表示變更有草稿,但不是
使用者可使用的資源更新後的標籤必須PUBLISHED
,才能進行變更
對使用者的顯示詳情請參閱「標籤
生命週期。