С помощью API меток Google Drive можно обновить отдельную метку, отправив набор запросов на обновление, в результате чего будет создана новая версия черновика. Например, можно обновить Properties существующей метки (основное описание метки) или добавить новое Field к метке.
Обновление метки выполняется в пакетном режиме, поскольку метод принимает список объектов Request на обновление. Он выполняет обновления в том же порядке, который указан в пакетном запросе. Обновления в пакетном режиме применяются атомарно. То есть, если какой-либо запрос в пакете окажется неудачным, то все обновление будет неудачным, и ни одно из (потенциально зависимых) изменений не будет применено. Метка останется без изменений.
Если обновление пройдет успешно, полученный черновой вариант необходимо опубликовать до того, как изменения можно будет использовать с любым элементом Google Drive.
Обновить объекты меток
Метка включает в себя множество других типов объектов, которые можно обновлять, например:
-
Propertiesметки - Объекты
Fieldи типы полей -
ChoiceиPropertiesвыбора
Это лишь некоторые из многочисленных объектов, которые управляют внешним видом и работой этикетки.
Категории операций
Следующие операции, поддерживаемые методом delta для ресурса labels , можно сгруппировать в следующие широкие категории:
| Категория | Описание |
|---|---|
| Создавать | Добавить объекты. |
| Обновлять | Обновить определенные свойства объекта. |
| Давать возможность | Включить объекты. |
| Запрещать | Отключить объекты. |
| Удалить | Удалите объекты. |
В следующем разделе эти категории используются для описания поведения конкретных операций.
Запросы на обновление
Метод delta работает, принимая один или несколько объектов Request , каждый из которых определяет один тип запроса для выполнения. Существует множество различных типов запросов. Вот краткое описание типов запросов, сгруппированных по различным категориям.
| Запрос объекта | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Свойства метки |
| ||||||||||
| Поле |
| ||||||||||
| Выбор |
| ||||||||||
Полевые маски
Для многих запросов типа «Обновление» и «Отключение» требуется FieldMask . Это список полей, разделенных запятыми, которые вы хотите обновить, оставив остальные поля без изменений. Маска необходима для того, чтобы обновлялись только те поля, которые вы хотите отредактировать. Необходимо указать как минимум одно поле.
Пример
Для обновления метки используйте метод delta ресурса labels .
Также необходимо указать:
Параметр запроса
useAdminAccessустанавливается вtrue, чтобы использовать учетные данные администратора пользователя. Прежде чем разрешить доступ, сервер проверяет, обладает ли пользователь необходимыми правами администратора по управлению метками классификации .Request, определяющий необходимые обновления метки.titleметки задается через объектProperties.Один или несколько объектов
Field.Ресурс
labels, представляющий собой описание метки. Он содержитnameиid, который является глобально уникальным идентификатором для метки.Объект
LabelViewс параметромLABEL_VIEW_FULLиспользуется для установки представления ресурса, применяемого к ответам меток.LABEL_VIEW_FULLвозвращает все возможные поля.
В следующем примере кода показано, как использовать id метки для обновления нужной метки:
Python
body = {
'useAdminAccess': True,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
}
response = service.labels().delta(
body=body,
name='labels/ID'
).execute()
Node.js
var body = {
'useAdminAccess': true,
'requests': [
{
'updateLabel': {
'properties': {
'title': 'TITLE'
},
'updateMask': 'title'
}
},
{
'createField': {
'field': {
'properties': {
'displayName': 'DISPLAY_NAME'
},
'textOptions': {}
}
}
}
],
'view': 'LABEL_VIEW_FULL'
};
service.labels.delta({
name: 'labels/ID',
requestBody: body
}, (err, res) => {
if (err) return console.error('The API returned an error: ' + err);
console.log(res);
});
Замените следующее:
- TITLE : Название этикетки.
- DISPLAY_NAME : Отображаемое имя поля.
- ID : Идентификатор метки.
Метка, поле или выбор обновляются, идентификатор ревизии метки увеличивается, и метка сохраняется в базе данных как черновик. Метка имеет State PUBLISHED , а параметр hasUnpublishedChanges установлен в значение true , что означает наличие черновиков, но они недоступны пользователям. Обновленная метка должна быть PUBLISHED прежде чем изменения станут видимыми для пользователей. Для получения дополнительной информации см. раздел «Жизненный цикл метки» .