Дополнения Google Workspace позволяют настраивать интерфейс при открытии пользователем Google Drive. Это дает возможность предоставлять пользователю дополнительную релевантную информацию, автоматизировать задачи и подключать сторонние системы к Drive.
Получите доступ к пользовательскому интерфейсу дополнения Google Workspace.
Вы можете открыть надстройку в Google Диске, если её значок отображается в столбце значков в правой части пользовательского интерфейса Google Диска. Надстройка может определять интерфейс главной страницы, интерфейс выбора элементов или и то, и другое:
- Если пользователь щелкает значок дополнения в Google Диске, дополнение выполняет соответствующую функцию
drive.homepageTrigger(если она присутствует). Эта функция создает и возвращает карточку домашней страницы в Google Диск для отображения. Если функцияdrive.homepageTriggerне определена, вместо нее отображается стандартная карточка домашней страницы. - Если пользователь выбирает один или несколько элементов в Google Диске, а затем щелкает значок надстройки, или выбирает элементы, когда надстройка открыта, надстройка выполняет соответствующую контекстную функцию
drive.onItemsSelectedTrigger(если она присутствует). Эта функция формирует контекстный интерфейс «выбранные элементы» надстройки в Google Диске и возвращает его в Google Диск для отображения.
Создайте дополнительный интерфейс для Drive.
Для создания интерфейсов, расширяющих функциональность Drive, выполните следующие общие шаги:
- Решите, хотите ли вы, чтобы у вашего дополнения была отдельная домашняя страница, посвященная Google Диску. Также решите, хотите ли вы предоставить контекстный интерфейс при выборе пользователем элементов Google Диска.
- Добавьте соответствующие поля
addOns.commonиaddOns.driveв манифест проекта скрипта дополнения, включая все необходимые области действия Drive . - Если вы предоставляете домашнюю страницу, специфичную для Google Диска , реализуйте функцию
drive.homepageTriggerдля создания этого интерфейса. Вы также можете использовать интерфейсcommon.homepageTriggerдля нескольких хостов Google Workspace. - Если вы предоставляете интерфейс контекстного выбора элементов для Google Диска, вам необходимо реализовать функцию контекстного запуска
drive.onItemsSelectedTriggerдля создания этого интерфейса. См. раздел «Контекстный интерфейс Google Диска для выбранных элементов» для получения более подробной информации. - Реализуйте соответствующие функции обратного вызова, необходимые для реагирования на действия пользователя в пользовательском интерфейсе, такие как нажатия кнопок.
Главные страницы Drive
Google Drive поддерживает отображение домашних страниц дополнений. Чтобы отобразить общую домашнюю страницу вашего дополнения в Google Drive, убедитесь, что в манифесте дополнения есть поле addOns.drive .
В качестве альтернативы, добавьте параметр drive.homepageTrigger в манифест дополнения, чтобы задать домашнюю страницу, специфичную для Google Диска.
В любом случае укажите имя функции запуска главной страницы в проекте скрипта вашего дополнения. Эта функция автоматически вызывается для построения главной страницы Google Диска, когда это необходимо. Реализуйте эту функцию для построения и возврата одной Card или массива объектов Card , составляющих главную страницу. В качестве параметра функции запуска главной страницы передается объект события , содержащий общую информацию, например, платформу клиента. Используйте данные объекта события для построения главной страницы.
Управление контекстным интерфейсом для выбранных элементов
Drive использует контекстный триггер для определения того, какой интерфейс (если таковой имеется) отображать при выборе пользователем одного или нескольких элементов 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.selectedItems в объекте события, чтобы идентифицировать их все.
Если поведение дополнения должно применяться только к одному выбранному элементу, используйте информацию из поля drive.activeCursorItem объекта события, чтобы определить этот элемент из всего выделения. Не пытайтесь определить, какой именно элемент использовать, из массива drive.selectedItems .
В следующем примере показан объект события 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"
},
...
]
},
...
}