Дополнения Google Workspace позволяют настраивать интерфейсы при работе пользователя с Google Drive. Это дает возможность предоставлять пользователю дополнительную релевантную информацию, автоматизировать задачи и подключать сторонние системы к Google Drive.
Доступ к пользовательскому интерфейсу дополнения
Вы можете открыть надстройку Google Workspace в Google Drive, если её значок отображается в столбце значков в правой части пользовательского интерфейса Drive. Надстройка Google Workspace может определять интерфейс главной страницы, интерфейс выбора элементов или и то, и другое:
- Если пользователь щелкает значок дополнения в Google Drive, дополнение выполняет соответствующую функцию
drive.homepageTrigger(если она присутствует). Эта функция создает и возвращает карточку домашней страницы в Google Drive для отображения. Если функцияdrive.homepageTriggerне определена, вместо нее отображается стандартная карточка домашней страницы. - Если пользователь выбирает один или несколько элементов в Google Drive, а затем щелкает значок дополнения, или выбирает элементы, когда дополнение открыто, дополнение выполняет соответствующую контекстную функцию
drive.onItemsSelectedTrigger(если она присутствует). Эта функция формирует контекстный интерфейс «выбранные элементы» дополнения в Google Drive и возвращает его в Google Drive для отображения.
Создание интерфейса дополнения Drive
Вы можете создавать интерфейсы, расширяющие функциональность Google Drive, выполнив следующие общие шаги:
- Решите, хотите ли вы, чтобы у вашего дополнения была отдельная домашняя страница, посвященная Google Диску. Также решите, хотите ли вы предоставить контекстный интерфейс при выборе пользователем элементов Google Диска.
- Добавьте соответствующие поля
addOns.commonиaddOns.driveв манифест проекта скрипта дополнения, включая все необходимые области действия Drive . - Если вы предоставляете домашнюю страницу, специфичную для Google Диска , реализуйте функцию
drive.homepageTriggerдля создания этого интерфейса. Вы также можете использовать интерфейсcommon.homepageTriggerдля нескольких хостов Google Workspace. - Если вы предоставляете интерфейс контекстного выбора элементов для Google Диска, вам необходимо реализовать функцию контекстного запуска
drive.onItemsSelectedTriggerдля построения этого интерфейса. Подробнее см. раздел «Контекстный интерфейс Google Диска для выбранных элементов ». - Реализуйте соответствующие функции обратного вызова, необходимые для реагирования на действия пользователя в пользовательском интерфейсе, такие как нажатия кнопок.
Главные страницы Drive
Google Drive поддерживает отображение домашних страниц дополнений Google Workspace. Чтобы отобразить общую домашнюю страницу вашего дополнения в Google Drive, просто убедитесь, что в манифесте дополнения есть поле addOns.drive .
В качестве альтернативы, добавьте параметр drive.homepageTrigger в манифест дополнения, чтобы задать домашнюю страницу, специфичную для Google Диска.
В любом случае, вам необходимо указать имя функции запуска главной страницы в скриптовом проекте вашего дополнения. Эта функция автоматически вызывается для создания главной страницы Google Диска, когда это необходимо. Вам необходимо реализовать эту функцию для создания и возврата одной Card или массива объектов Card , составляющих главную страницу. В качестве параметра функции запуска главной страницы передается объект события , содержащий общую информацию, такую как платформа клиента. Вы можете использовать данные объекта события для настройки построения главной страницы.
Управление контекстным интерфейсом для выбранных элементов
Google Drive использует контекстный триггер для определения того, какой интерфейс (если таковой имеется) отображать при выборе пользователем одного или нескольких элементов Google Drive. При срабатывании триггера выполняется функция контекстного триггера, указанная в поле drive.onItemsSelectedTrigger.runFunction в манифесте дополнения.
Для создания интерфейса контекстного выбора элементов в Google Диск необходимо выполнить следующие действия:
Убедитесь, что манифест дополнения включает область действия
https://www.googleapis.com/auth/drive.addons.metadata.readonlyУбедитесь, что манифест содержит раздел
drive.onItemsSelectedTrigger.Реализуйте функцию, указанную в поле
drive.onItemsSelectedTrigger. Эта функция принимает в качестве аргумента объект события и должна возвращать либо один объектCard, либо массив объектовCard.Как и в случае с любой карточкой, необходимо реализовать все функции обратного вызова, используемые для обеспечения интерактивности виджетов в интерфейсе. Например, если вы включаете кнопку в интерфейс, к ней должен быть прикреплен объект Action и реализована функция обратного вызова, которая запускается при нажатии на кнопку.
Объекты событий
При вызове функций-триггеров drive.homepageTrigger или drive.onItemsSelectedTrigger создается объект события , который передается в эти функции. Функция-триггер может использовать информацию из этого объекта события для определения способа создания карточек дополнений или иного управления поведением дополнений.
Полная структура объектов событий описана в разделе «Объекты событий» . Когда Google Drive выступает в качестве хост-приложения для дополнения, контекстные объекты событий включают поле объекта события Drive , содержащее информацию о клиенте, специфичную для Drive.
Контекстные объекты событий Drive для триггеров выбора элементов содержат информацию об элементах, которые пользователь выбрал в момент срабатывания триггера. Когда пользователь выбирает более одного элемента в Drive, один из элементов считается представляющим основной интерес; этот элемент называется активным элементом курсора .
В следующем примере показан объект события Drive , который передается в функцию drive.onItemsSelectedTrigger :
{
"commonEventObject": { ... },
"drive": {
"activeCursorItem":{
"addonHasFileScopePermission": true,
"id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
"iconUrl": "https://drive-thirdparty.googleusercontent.com...",
"mimeType":"application/pdf",
"title":"How to get started with Drive"
},
"selectedItems": [
{
"addonHasFileScopePermission": true,
"id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
"iconUrl":"https://drive-thirdparty.googleusercontent.com...",
"mimeType":"application/pdf",
"title":"How to get started with Drive"
},
...
]
},
...
}