В этом документе описывается, как создавать и публиковать этикетки с помощью API этикеток Google Drive.
Создать метку
Для создания метки используйте метод create ресурса labels . Метки могут содержать один или несколько объектов Field .
Также необходимо указать:
Объект
LabelType.titleметки задается через объектProperties.Параметр запроса
useAdminAccessустанавливается вtrue, чтобы использовать учетные данные администратора пользователя. Прежде чем разрешить доступ, сервер проверяет, обладает ли пользователь необходимыми правами администратора по управлению метками классификации .
В приведенном ниже примере кода показано, как использовать метод create для создания стандартной административной метки с указанным заголовком и одним Field SelectionOptions , содержащим два объекта Choice .
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.
Метка создается в State UNPUBLISHED_DRAFT . Для того чтобы метка была видна пользователям и могла использоваться для файлов, она должна быть в PUBLISHED . Для получения дополнительной информации см. раздел «Жизненный цикл метки» .
Ограничения по маркировке
При создании и применении меток действуют следующие ограничения:
- Стандартные этикетки: 150
- Количество полей на метку: 10
Работа с полями в метках
В таблице ниже описаны типы полей, которые можно добавить в метку, способы взаимодействия пользователей с ними, а также особенности и ограничения форматирования:
Field Type | Что могут делать пользователи | Вопросы форматирования и ограничения |
|---|---|---|
SelectionOptions | Выберите один или несколько вариантов из списка. | Максимальное количество поддерживаемых опций — 200. Максимальное количество выделенных элементов для файла составляет 10, как указано в ListOptions |
IntegerOptions | Введите числовое значение | Поддерживаются только целые числа. |
DateOptions | Выберите дату в календаре | (Необязательно) Формат DateFormat можно установить как "Длинный: Месяц ДД, ГГГГ" или "Короткий: ММ/ДД/ГГ" |
TextOptions | Введите текст в текстовое поле | Максимальное количество поддерживаемых символов — 100. |
UserOptions | Выберите одного или нескольких пользователей из списка контактов Google Workspace. | Максимальное количество пользовательских записей для файла составляет 10, как указано в ListOptions |
Опубликовать этикетку
API для создания меток дисков позволяет опубликовать черновой вариант метки после его завершения. После этого метка становится видимой для пользователей и может быть применена к файлам.
Для публикации метки используйте метод publish ресурса labels и укажите:
Ресурс
labels, представляющий каждую метку. Он содержитnameресурса иid, который является глобально уникальным идентификатором для метки.Параметр запроса
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 на идентификатор метки, которую нужно опубликовать.
После публикации метка переходит в State PUBLISHED , и её идентификатор ревизии увеличивается. После этого метка становится видимой для пользователей и может быть применена к файлам. Для получения дополнительной информации см. раздел «Жизненный цикл метки» .
Ограничения при публикации меток
При подготовке к публикации этикеток обратите внимание на следующие ограничения:
После публикации метка не может вернуться в исходное черновое состояние. Для получения дополнительной информации см. раздел «Жизненный цикл метки» .
Публикация метки создает новую опубликованную версию. Все предыдущие черновые версии удаляются. Ранее опубликованные версии сохраняются, но при необходимости могут быть автоматически удалены.
После публикации некоторые изменения становятся недопустимыми. Как правило, это означает, что любое изменение, которое аннулирует или вводит новые ограничения на существующие метаданные, связанные с меткой, отклоняется. Например, следующие изменения метки не допускаются после ее публикации:
- Метка удаляется автоматически. (Сначала её необходимо отключить, а затем удалить.)
- Изменено значение
Field.FieldType. - Внесенные изменения в параметры проверки
Fieldотклоняют ранее принятые значения. - Снижение максимального количества участников.