本文說明如何使用 Google 雲端硬碟標籤 API 建立及發布標籤。
建立標籤
如要建立標籤,請對 labels 資源使用 create 方法。標籤可以視需要包含一或多個 Field 物件。
此外,您還必須指定:
LabelType物件。透過
Properties物件的標籤title。useAdminAccess查詢參數設為true,即可使用使用者的管理員憑證。伺服器會先驗證使用者是否具備必要的管理分類標籤管理員權限,再允許存取。
下列程式碼範例說明如何使用 create 方法,建立具有指定標題和一個 SelectionOptions 的標準管理員標籤,以及具有兩個 Choice 物件的 Field。
Python
label_body = {
'labelType': 'ADMIN',
'properties': {
'title': 'TITLE'
},
'fields': [{
'properties': {
'displayName': 'DISPLAY_NAME'
},
'selectionOptions': {
'listOptions': {},
'choices': [{
'properties': {
'displayName': 'CHOICE_1'
}
}, {
'properties': {
'displayName': 'CHOICE_2'
}
}]
}
}]
}
response = service.labels().create(
body=label_body, useAdminAccess=True).execute()
Node.js
var label = {
'labelType': 'ADMIN',
'properties': {
'title': 'TITLE'
},
'fields': [{
'properties': {
'displayName': 'DISPLAY_NAME'
},
'selectionOptions': {
'listOptions': {},
'choices': [{
'properties': {
'displayName': 'CHOICE_1'
}
}, {
'properties': {
'displayName': 'CHOICE_2'
}
}]
}
}]
};
service.labels.create({
requestBody: label,
useAdminAccess: true
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
更改下列內容:
- TITLE:標籤的名稱。
- DISPLAY_NAME:欄位的顯示名稱。
- CHOICE_1:
SelectionOptions欄位中的第一個選項。 - CHOICE_2:
SelectionOptions欄位的第二個選項。
標籤是在 UNPUBLISHED_DRAFT
State 中建立,標籤必須為 PUBLISHED,使用者才能看到並套用至檔案。詳情請參閱「標籤生命週期」。
標籤限制
建立及套用標籤時,請注意下列限制:
- 標準標籤:150 個
- 每個標籤的欄位數:10 個
處理標籤中的欄位
下表說明可新增至標籤的欄位類型、使用者與這些欄位的互動方式,以及格式考量事項和限制:
Field Type |
使用者可執行的動作 | 格式注意事項與限制 |
|---|---|---|
SelectionOptions |
從清單中選取一或多個選項 | 最多支援 200 個選項 每個檔案最多可包含 10 個選項,如 ListOptions 中所設定 |
IntegerOptions |
輸入數值 | 只能輸入整數 |
DateOptions |
選取日曆日期 | (選用) DateFormat 可設為「長格式:<年份> 年 <月份> 月 <日期> 日」或「短格式:<月份>/<日期>/<年份>」 |
TextOptions |
在文字方塊中輸入文字 | 最多可支援 100 個字元 |
UserOptions |
從 Google Workspace 聯絡人中選取一或多位使用者。 | 檔案的使用者項目數上限為 10,如 ListOptions 中所設定 |
發布標籤
您可以使用 Drive Labels API 發布完成的草稿標籤。使用者就能看到標籤,並套用至檔案。
如要發布標籤,請對 labels 資源使用 publish 方法,並指定:
useAdminAccess查詢參數設為true,即可使用使用者的管理員憑證。伺服器會先驗證使用者是否具備必要的管理分類標籤管理員權限,再允許存取。
以下程式碼範例說明如何使用標籤的 id 識別並發布正確標籤。
Python
service.labels().publish(
name='labels/ID',
body={
'useAdminAccess': True
}
).execute()
Node.js
service.labels.publish({
name: 'labels/ID',
requestBody: {
useAdminAccess: true
}
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
將 ID 替換為要發布的標籤 ID。
發布標籤後,標籤會移至 PUBLISHED
State,且標籤的修訂版本 ID 會遞增。使用者就能看到標籤,並套用至檔案。詳情請參閱「標籤生命週期」。
發布標籤時的限制
準備發布標籤時,請注意以下限制:
標籤發布後就無法返回原始草稿狀態。詳情請參閱「標籤生命週期」。
發布標籤會建立新發布的版本。系統會刪除所有先前的草稿修訂版本。先前發布的修訂版本會保留,但系統會視需要自動刪除。
發布後,部分變更將無法再進行。一般來說,這表示系統會拒絕任何會使現有標籤相關中繼資料失效或觸發新限制的變更。舉例來說,標籤發布後,不得進行下列變更:
- 系統會直接刪除標籤。(必須先停用,然後才能刪除)。
Field.FieldType已變更。Field驗證選項更新後,先前接受的項目可能會遭到拒絕。- 減少最大項目數。