REST Resource: projects.deployments

Ресурс: Развертывание

Развертывание надстройки Google Workspace

JSON-представление
{
  "name": string,
  "oauthScopes": [
    string
  ],
  "addOns": {
    object (AddOns)
  },
  "etag": string
}
Поля
name

string

Имя ресурса развертывания. Пример: projects/123/deployments/my_deployment .

oauthScopes[]

string

Список областей Google OAuth, для которых запрашивается согласие конечного пользователя перед выполнением конечной точки надстройки.

addOns

object ( AddOns )

Конфигурация надстройки Google Workspace.

etag

string

Это значение вычисляется сервером на основе версии развертывания в хранилище и может отправляться в запросах на обновление и удаление, чтобы убедиться, что клиент имеет актуальное значение, прежде чем продолжить.

Дополнения

Конфигурация надстройки Google Workspace.

JSON-представление
{
  "common": {
    object (CommonAddOnManifest)
  },
  "gmail": {
    object (GmailAddOnManifest)
  },
  "drive": {
    object (DriveAddOnManifest)
  },
  "calendar": {
    object (CalendarAddOnManifest)
  },
  "docs": {
    object (DocsAddOnManifest)
  },
  "sheets": {
    object (SheetsAddOnManifest)
  },
  "slides": {
    object (SlidesAddOnManifest)
  },
  "httpOptions": {
    object (HttpOptions)
  }
}
Поля
common

object ( CommonAddOnManifest )

Конфигурация, общая для всех дополнений Google Workspace.

gmail

object ( GmailAddOnManifest )

Конфигурация дополнения Gmail.

drive

object ( DriveAddOnManifest )

Конфигурация надстройки диска.

calendar

object ( CalendarAddOnManifest )

Настройка дополнения календаря.

docs

object ( DocsAddOnManifest )

Конфигурация дополнения «Документы».

sheets

object ( SheetsAddOnManifest )

Конфигурация надстройки Таблиц.

slides

object ( SlidesAddOnManifest )

Конфигурация надстройки слайдов.

httpOptions

object ( HttpOptions )

Варианты отправки запросов на дополнительные конечные точки HTTP

Коммонаддонманифест

Конфигурация надстройки, которая используется всеми дополнительными хост-приложениями.

JSON-представление
{
  "name": string,
  "logoUrl": string,
  "layoutProperties": {
    object (LayoutProperties)
  },
  "addOnWidgetSet": {
    object (AddOnWidgetSet)
  },
  "useLocaleFromApp": boolean,
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "universalActions": [
    {
      object (UniversalActionExtensionPoint)
    }
  ],
  "openLinkUrlPrefixes": array
}
Поля
name

string

Необходимый. Отображаемое имя дополнения.

logoUrl

string

Необходимый. URL-адрес изображения логотипа, отображаемого на панели инструментов надстройки.

layoutProperties

object ( LayoutProperties )

Общие свойства макета для дополнительных карт.

addOnWidgetSet

object ( AddOnWidgetSet )

Виджеты, используемые в дополнении. Если это поле не указано, используется набор по умолчанию.

useLocaleFromApp

boolean

Передавать ли информацию о локали из хост-приложения.

homepageTrigger

object ( HomepageExtensionPoint )

Определяет конечную точку, которая будет выполняться в любом контексте и на любом хосте. Любые карточки, созданные этой функцией, всегда будут доступны пользователю, но могут быть затмены контекстным контентом, когда это дополнение объявляет более целевые триггеры.

universalActions[]

object ( UniversalActionExtensionPoint )

Определяет список точек расширения в универсальном меню действий, которое служит меню настроек дополнения. Точкой расширения может быть URL-адрес ссылки для открытия или конечная точка для выполнения при отправке формы.

openLinkUrlPrefixes

array ( ListValue format)

Действие OpenLink может использовать только URL-адрес со схемой HTTPS , MAILTO или TEL . Для ссылок HTTPS URL-адрес также должен соответствовать одному из префиксов, указанных в белом списке. Если в префиксе отсутствует схема, предполагается HTTPS . HTTP ссылки автоматически перезаписываются в HTTPS ссылки.

Свойства макета

Свойства макета карты используются всеми дополнительными хост-приложениями.

JSON-представление
{
  "primaryColor": string,
  "secondaryColor": string,
  "useNewMaterialDesign": boolean
}
Поля
primaryColor

string

Основной цвет дополнения. Он устанавливает цвет панели инструментов. Если основной цвет не установлен, используется значение по умолчанию, предоставленное платформой.

secondaryColor

string

Вторичный цвет дополнения. Он устанавливает цвет кнопок. Если основной цвет установлен, но не задан дополнительный цвет, дополнительный цвет совпадает с основным цветом. Если ни основной, ни вторичный цвет не заданы, используется значение по умолчанию, предоставленное платформой.

useNewMaterialDesign

boolean

Включает материальный дизайн для карточек.

Аддонвиджетсет

Подмножество виджетов, используемое надстройкой.

JSON-представление
{
  "usedWidgets": [
    enum (WidgetType)
  ]
}
Поля
usedWidgets[]

enum ( WidgetType )

Список виджетов, используемых в дополнении.

Тип виджета

Тип виджета. WIDGET_TYPE_UNSPECIFIED — базовый набор виджетов.

Перечисления
WIDGET_TYPE_UNSPECIFIED Набор виджетов по умолчанию.
DATE_PICKER Выбор даты.
STYLED_BUTTONS К стилизованным кнопкам относятся заполненные и деактивированные кнопки.
PERSISTENT_FORMS Постоянные формы позволяют сохранять значения формы во время действий.
UPDATE_SUBJECT_AND_RECIPIENTS Обновите тему и получателей черновика.
GRID_WIDGET Виджет сетки.
ADDON_COMPOSE_UI_ACTION Действие надстройки Gmail, которое применяется к пользовательскому интерфейсу создания надстройки.

Домашняя страницаExtensionPoint

Общий формат объявления представления домашней страницы надстройки.

JSON-представление
{
  "runFunction": string,
  "enabled": boolean
}
Поля
runFunction

string

Необходимый. Конечная точка, которая будет выполняться при активации этой точки расширения.

enabled

boolean

Необязательный. Если установлено значение false , деактивируется просмотр домашней страницы в этом контексте.

По умолчанию true , если не установлено.

Если пользовательский вид домашней страницы надстройки отключен, вместо этого пользователям предоставляется общая обзорная карточка.

Универсальное действиеExtensionPoint

Формат объявления точки расширения универсального пункта меню действий.

JSON-представление
{
  "label": string,

  // Union field action_type can be only one of the following:
  "openLink": string,
  "runFunction": string
  // End of list of possible types for union field action_type.
}
Поля
label

string

Необходимый. Видимый пользователю текст, описывающий действие, выполняемое при активации этой точки расширения, например «Добавить новый контакт».

Поле объединения action_type . Необходимый. Тип действия, поддерживаемый в пункте меню универсального действия. Это может быть либо ссылка для открытия, либо конечная точка для выполнения. action_type может быть только одним из следующих:
runFunction

string

Конечная точка, которую будет запускать UniversalAction.

GmailAddOnManifest

Свойства, настраивающие внешний вид и работу надстройки Gmail.

JSON-представление
{
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "contextualTriggers": [
    {
      object (ContextualTrigger)
    }
  ],
  "universalActions": [
    {
      object (UniversalAction)
    }
  ],
  "composeTrigger": {
    object (ComposeTrigger)
  },
  "authorizationCheckFunction": string
}
Поля
homepageTrigger

object ( HomepageExtensionPoint )

Определяет конечную точку, которая будет выполняться в контекстах, не соответствующих объявленному контекстному триггеру. Любые карточки, созданные этой функцией, всегда будут доступны пользователю, но могут быть затмены контекстным контентом, когда это дополнение объявляет более целевые триггеры.

Если он присутствует, он переопределяет конфигурацию из addons.common.homepageTrigger .

contextualTriggers[]

object ( ContextualTrigger )

Определяет набор условий, которые запускают надстройку.

universalActions[]

object ( UniversalAction )

Определяет набор универсальных действий для дополнения. Пользователь запускает универсальные действия из меню панели инструментов надстройки.

composeTrigger

object ( ComposeTrigger )

Определяет триггер времени создания для надстройки времени создания. Это триггер, который заставляет надстройку выполнять действие, когда пользователь составляет электронное письмо. Все надстройки времени создания должны иметь область действия gmail.addons.current.action.compose , даже если они не могут редактировать черновик.

authorizationCheckFunction

string

Имя конечной точки, которая проверяет наличие у надстройки всех необходимых сторонних авторизаций путем проверки сторонних API. Если проверка не удалась, функция должна выдать исключение, чтобы инициировать поток авторизации. Эта функция вызывается перед каждым вызовом надстройки, чтобы обеспечить удобство работы пользователя.

Контекстуальный триггер

Определяет триггер, который срабатывает, когда открытое электронное письмо соответствует определенным критериям. Когда триггер срабатывает, он выполняет определенную конечную точку, обычно для создания новых карточек и обновления пользовательского интерфейса.

JSON-представление
{
  "onTriggerFunction": string,

  // Union field trigger can be only one of the following:
  "unconditional": {
    object (UnconditionalTrigger)
  }
  // End of list of possible types for union field trigger.
}
Поля
onTriggerFunction

string

Необходимый. Имя конечной точки для вызова, когда сообщение соответствует триггеру.

trigger поля объединения. Тип триггера определяет условия, которые Gmail использует для отображения дополнения. trigger может быть только одним из следующих:
unconditional

object ( UnconditionalTrigger )

Безусловные триггеры выполняются при открытии любого почтового сообщения.

Безусловный триггер

Этот тип не имеет полей.

Триггер, который срабатывает при открытии любого сообщения электронной почты.

Универсальное действие

Действие, которое всегда доступно в меню панели инструментов дополнения, независимо от контекста сообщения.

JSON-представление
{
  "text": string,

  // Union field action_type can be only one of the following:
  "openLink": string,
  "runFunction": string
  // End of list of possible types for union field action_type.
}
Поля
text

string

Необходимый. Видимый пользователю текст, описывающий действие, например «Добавить новый контакт».

Поле объединения action_type . Тип действия определяет поведение Gmail, когда пользователь вызывает это действие. action_type может быть только одним из следующих:
runFunction

string

Конечная точка, которая вызывается, когда пользователь запускает действие. Подробности смотрите в руководстве по универсальным действиям .

ComposeTrigger

Триггер, который активируется, когда пользователь составляет электронное письмо.

JSON-представление
{
  "actions": [
    {
      object (MenuItemExtensionPoint)
    }
  ],
  "draftAccess": enum (DraftAccess)
}
Поля
actions[]

object ( MenuItemExtensionPoint )

Определяет набор действий для надстройки времени создания. Это действия, которые пользователи могут запускать в надстройке времени создания сообщения.

draftAccess

enum ( DraftAccess )

Определяет уровень доступа к данным при запуске надстройки времени создания.

ПроектДоступ

Перечисление, определяющее уровень доступа к данным, требуемый триггером создания.

Перечисления
UNSPECIFIED Значение по умолчанию, если для черновика доступа ничего не установлено.
NONE Триггер создания не может получить доступ к каким-либо данным черновика при запуске надстройки создания.
METADATA Дает триггеру создания разрешение на доступ к метаданным черновика при запуске надстройки создания. Сюда входит список аудитории, например список «Кому» и «Копия» черновика сообщения.

DriveAddOnManifest

Свойства, настраивающие внешний вид и работу надстройки Диска.

JSON-представление
{
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "onItemsSelectedTrigger": {
    object (DriveExtensionPoint)
  }
}
Поля
homepageTrigger

object ( HomepageExtensionPoint )

Если он присутствует, он переопределяет конфигурацию из addons.common.homepageTrigger .

onItemsSelectedTrigger

object ( DriveExtensionPoint )

Соответствует поведению, которое выполняется при выборе элементов в соответствующем представлении Диска, например в списке документов «Мой диск».

Дискекстенсионпоинт

Общий формат объявления триггеров надстройки Диска.

JSON-представление
{
  "runFunction": string
}
Поля
runFunction

string

Необходимый. Конечная точка, которая будет выполняться при активации точки расширения.

КалендарьАддонМанифест

Свойства, настраивающие внешний вид и выполнение надстройки «Календарь».

JSON-представление
{
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "conferenceSolution": [
    {
      object (ConferenceSolution)
    }
  ],
  "createSettingsUrlFunction": string,
  "eventOpenTrigger": {
    object (CalendarExtensionPoint)
  },
  "eventUpdateTrigger": {
    object (CalendarExtensionPoint)
  },
  "currentEventAccess": enum (EventAccess)
}
Поля
homepageTrigger

object ( HomepageExtensionPoint )

Определяет конечную точку, которая выполняется в контекстах, не соответствующих объявленному контекстному триггеру. Любые карточки, созданные этой функцией, всегда будут доступны пользователю, но могут быть затмены контекстным контентом, когда это дополнение объявляет более целевые триггеры.

Если он присутствует, он переопределяет конфигурацию из addons.common.homepageTrigger .

conferenceSolution[]

object ( ConferenceSolution )

Определяет решения для конференций, предоставляемые этим дополнением.

createSettingsUrlFunction

string

Конечная точка для выполнения, которая создает URL-адрес страницы настроек надстройки.

eventOpenTrigger

object ( CalendarExtensionPoint )

Конечная точка, которая срабатывает, когда событие открывается для просмотра или редактирования.

eventUpdateTrigger

object ( CalendarExtensionPoint )

Конечная точка, которая срабатывает при обновлении события открытия.

currentEventAccess

enum ( EventAccess )

Определяет уровень доступа к данным при запуске надстройки события.

Решение для конференций

Определяет значения, связанные с конференцией.

JSON-представление
{
  "onCreateFunction": string,
  "id": string,
  "name": string,
  "logoUrl": string
}
Поля
onCreateFunction

string

Необходимый. Конечная точка для вызова при создании данных конференции.

id

string

Необходимый. Идентификаторы должны быть уникальными для всех решений конференц-связи в рамках одной надстройки, в противном случае при запуске надстройки может использоваться неправильное решение конференц-связи. Хотя вы можете изменить отображаемое имя надстройки, идентификатор менять не следует.

name

string

Необходимый. Отображаемое имя решения для конференции.

logoUrl

string

Необходимый. URL-адрес логотипа решения для конференций.

Календарекстенсионпоинт

Общий формат объявления триггеров надстройки календаря.

JSON-представление
{
  "runFunction": string
}
Поля
runFunction

string

Необходимый. Конечная точка, которая будет выполняться при активации этой точки расширения.

EventAccess

Перечисление, определяющее уровень, который требуется триггерам событий доступа к данным.

Перечисления
UNSPECIFIED Значение по умолчанию, если для eventAccess ничего не установлено.
METADATA Предоставляет триггерам событий разрешение на доступ к метаданным событий, таким как идентификатор события и идентификатор календаря.
READ Предоставляет триггерам событий доступ ко всем предоставленным полям событий, включая метаданные, участников и данные конференции.
WRITE Предоставляет триггерам событий доступ к метаданным событий и возможность выполнять все действия, включая добавление участников и настройку данных конференции.
READ_WRITE Предоставляет триггерам событий доступ ко всем предоставленным полям событий, включая метаданные, участников и данные конференции, а также возможность выполнять все действия.

Документыаддонманифест

Свойства, настраивающие внешний вид и выполнение надстройки Google Docs.

JSON-представление
{
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "onFileScopeGrantedTrigger": {
    object (DocsExtensionPoint)
  },
  "linkPreviewTriggers": [
    {
      object (LinkPreviewExtensionPoint)
    }
  ],
  "createActionTriggers": [
    {
      object (CreateActionExtensionPoint)
    }
  ]
}
Поля
homepageTrigger

object ( HomepageExtensionPoint )

Если он присутствует, он переопределяет конфигурацию из addons.common.homepageTrigger .

onFileScopeGrantedTrigger

object ( DocsExtensionPoint )

Конечная точка для выполнения, когда для этой пары документ/пользователь предоставлена ​​авторизация в области файла.

linkPreviewTriggers[]

object ( LinkPreviewExtensionPoint )

Список точек расширения для предварительного просмотра ссылок в документе Google Docs. Подробности см. в разделе Предварительный просмотр ссылок со смарт-чипами .

createActionTriggers[]

object ( CreateActionExtensionPoint )

Список точек расширения для создания сторонних ресурсов из приложений Google Workspace. Дополнительные сведения см. в разделе Создание сторонних ресурсов из меню @ .

ДокументыExtensionPoint

Общий формат объявления триггеров надстройки Документов.

JSON-представление
{
  "runFunction": string
}
Поля
runFunction

string

Необходимый. Конечная точка, которая будет выполняться при активации этой точки расширения.

Линкпревиевекстенсионпойнт

Конфигурация триггера, который срабатывает, когда пользователь вводит или вставляет ссылку из сторонней или сторонней службы Google в файл Документов, Таблиц или Презентаций Google.

JSON-представление
{
  "labelText": string,
  "localizedLabelText": {
    string: string,
    ...
  },
  "patterns": [
    {
      object (UriPattern)
    }
  ],
  "runFunction": string,
  "logoUrl": string
}
Поля
labelText

string

Необходимый. Текст примера смарт-чипа, предлагающий пользователям просмотреть ссылку, например Example: Support case . Этот текст является статическим и отображается до того, как пользователи запустят надстройку.

localizedLabelText

map (key: string, value: string)

Необязательный. Карта labeltext метки для локализации на другие языки. Отформатируйте язык в формате ISO 639 и страну/регион в формате ISO 3166 , разделив их дефисом - . Например, en-US .

Если локаль пользователя присутствует в ключах карты, пользователь видит локализованную версию labeltext .

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

patterns[]

object ( UriPattern )

Необходимый. Массив шаблонов URL-адресов, которые запускают надстройку для предварительного просмотра ссылок.

runFunction

string

Необходимый. Конечная точка для выполнения при запуске предварительного просмотра ссылки.

logoUrl

string

Необязательный. Значок, который отображается на смарт-чипе и карте предварительного просмотра. Если этот параметр опущен, надстройка использует значок на панели инструментов logourl .

Урипаттерн

Конфигурация для каждого шаблона URL-адреса, запускающего предварительный просмотр ссылки.

JSON-представление
{
  "hostPattern": string,
  "pathPrefix": string
}
Поля
hostPattern

string

Требуется для предварительного просмотра каждого шаблона URL. Домен шаблона URL. Надстройка просматривает ссылки, содержащие этот домен в URL-адресе. Чтобы просмотреть ссылки для определенного субдомена, например subdomain.example.com , включите субдомен. Чтобы просмотреть ссылки для всего домена, укажите в качестве поддомена подстановочный знак со звездочкой ( * ).

Например, *.example.com соответствует subdomain.example.com another.subdomain.example.com .

pathPrefix

string

Необязательный. Путь, по которому добавляется домен к hostpattern .

Например, если шаблон хоста URL-адреса — support.example.com , чтобы сопоставить URL-адреса обращений, размещенных по support.example.com/cases/ , введите cases .

Чтобы сопоставить все URL-адреса в домене шаблона хоста, оставьте pathprefix пустым.

CreateActionExtensionPoint

Конфигурация триггера, который срабатывает, когда пользователь запускает рабочий процесс создания ресурса в приложении Google Workspace. Дополнительные сведения см. в разделе Создание сторонних ресурсов из меню @ .

JSON-представление
{
  "id": string,
  "labelText": string,
  "localizedLabelText": {
    string: string,
    ...
  },
  "runFunction": string,
  "logoUrl": string
}
Поля
id

string

Необходимый. Уникальный идентификатор, позволяющий отличить эту точку расширения. Идентификатор может содержать до 64 символов и должен быть в формате [a-zA-Z0-9-]+ .

labelText

string

Необходимый. Текст, который отображается рядом со значком точки входа для создания ресурса, например Create support case . Этот текст является статическим и отображается до того, как пользователи запустят надстройку.

localizedLabelText

map (key: string, value: string)

Необязательный. Карта labeltext метки для локализации на другие языки. Отформатируйте язык в формате ISO 639 и страну/регион в формате ISO 3166 , разделив их дефисом - . Например, en-US .

Если локаль пользователя присутствует в ключах карты, пользователь видит локализованную версию labeltext .

Объект, содержащий список пар "key": value . Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

runFunction

string

Необходимый. Конечная точка, которая будет выполняться, когда рабочий процесс создания ресурса запускается для создания ссылки.

logoUrl

string

Необязательный. Значок, отображаемый для точки входа создания ресурса. Если этот параметр опущен, в меню используется значок панели инструментов вашего дополнения, logourl .

ЛистыAddOnManifest

Свойства, настраивающие внешний вид и работу надстройки Google Sheets.

JSON-представление
{
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "onFileScopeGrantedTrigger": {
    object (SheetsExtensionPoint)
  },
  "linkPreviewTriggers": [
    {
      object (LinkPreviewExtensionPoint)
    }
  ]
}
Поля
homepageTrigger

object ( HomepageExtensionPoint )

Если он присутствует, он переопределяет конфигурацию из addons.common.homepageTrigger .

onFileScopeGrantedTrigger

object ( SheetsExtensionPoint )

Конечная точка для выполнения, когда для этой пары документ/пользователь предоставлена ​​авторизация в области файла.

linkPreviewTriggers[]

object ( LinkPreviewExtensionPoint )

Список точек расширения для предварительного просмотра ссылок в документе Google Таблиц. Подробности см. в разделе Предварительный просмотр ссылок со смарт-чипами .

ЛистыExtensionPoint

Общий формат объявления триггеров надстройки Таблиц.

JSON-представление
{
  "runFunction": string
}
Поля
runFunction

string

Необходимый. Конечная точка, которая будет выполняться при активации этой точки расширения.

СлайдыAddOnManifest

Свойства, настраивающие внешний вид и работу надстройки Google Slides.

JSON-представление
{
  "homepageTrigger": {
    object (HomepageExtensionPoint)
  },
  "onFileScopeGrantedTrigger": {
    object (SlidesExtensionPoint)
  },
  "linkPreviewTriggers": [
    {
      object (LinkPreviewExtensionPoint)
    }
  ]
}
Поля
homepageTrigger

object ( HomepageExtensionPoint )

Если он присутствует, он переопределяет конфигурацию из addons.common.homepageTrigger .

onFileScopeGrantedTrigger

object ( SlidesExtensionPoint )

Конечная точка для выполнения, когда для этой пары документ/пользователь предоставлена ​​авторизация в области файла.

linkPreviewTriggers[]

object ( LinkPreviewExtensionPoint )

Список точек расширения для предварительного просмотра ссылок в документе Google Slides. Подробности см. в разделе Предварительный просмотр ссылок со смарт-чипами .

СлайдыExtensionPoint

Общий формат объявления триггеров надстройки Slides.

JSON-представление
{
  "runFunction": string
}
Поля
runFunction

string

Необходимый. Конечная точка, которая будет выполняться при активации этой точки расширения.

HttpOptions

Параметры отправки запросов на дополнительные конечные точки HTTP .

JSON-представление
{
  "authorizationHeader": enum (HttpAuthorizationHeader)
}
Поля
authorizationHeader

enum ( HttpAuthorizationHeader )

Конфигурация токена, отправленного в заголовке HTTP авторизации.

HttpAuthorizationHeader

Заголовок авторизации, отправляемый в дополнительных HTTP запросах.

Перечисления
HTTP_AUTHORIZATION_HEADER_UNSPECIFIED Значение по умолчанию, эквивалентное SYSTEM_ID_TOKEN .
SYSTEM_ID_TOKEN Отправьте токен идентификатора для учетной записи системной службы надстройки Google Workspace для конкретного проекта (по умолчанию).
USER_ID_TOKEN Отправьте токен идентификатора конечному пользователю.
NONE Не отправляйте заголовок аутентификации.

Методы

create

Создает развертывание с указанным именем и конфигурацией.

delete

Удаляет развертывание с заданным именем.

get

Получает развертывание с указанным именем.

getInstallStatus

Получает состояние установки тестового развертывания.

install

Устанавливает развертывание в вашу учетную запись для тестирования.

list

Перечисляет все развертывания в конкретном проекте.

replaceDeployment

Создает или заменяет развертывание с указанным именем.

uninstall

Удаляет тестовое развертывание из учетной записи пользователя.