Создание интерфейсов Google Диска

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

НадстройкиGoogle Workspace могут предоставлять настраиваемые интерфейсы, когда пользователь использует Google Диск. Это позволяет предоставлять пользователю дополнительную актуальную информацию, автоматизировать задачи и подключать сторонние системы к Google Диску.

Доступ к пользовательскому интерфейсу надстройки

Вы можете открыть надстройку Google Workspace на Google Диске, если ее значок отображается в столбце значков в правой части пользовательского интерфейса Диска. НадстройкаGoogle Workspace может определять интерфейс домашней страницы, интерфейс выбора элемента или оба:

  • Если пользователь щелкает значок надстройки в Google Диске, надстройка выполняет соответствующую функцию drive.homepageTrigger (если она присутствует). Эта функция создает и возвращает карточку домашней страницы на Google Диск для отображения. Если функция drive.homepageTrigger не определена, вместо нее отображается общая карточка домашней страницы.
  • Если пользователь выбирает один или несколько элементов на Диске, а затем щелкает значок надстройки или выбирает элементы, когда надстройка открыта, надстройка выполняет соответствующую контекстную функцию drive.onItemsSelectedTrigger (если она присутствует). Эта функция создает контекстный интерфейс надстройки «Выбранные элементы» на Диске и возвращает его на Google Диск для отображения.

Создаем дополнительный интерфейс Диска

Вы можете создавать интерфейсы, расширяющие Google Диск, выполнив следующие общие шаги:

  1. Решите, хотите ли вы, чтобы ваше дополнение имело домашнюю страницу для Диска . Также решите, хотите ли вы предоставить контекстный интерфейс, когда пользователь выбирает элементы на Диске.
  2. Добавьте соответствующие addOns.common и addOns.drive в манифест проекта сценария надстройки, включая все требуемые области Диска .
  3. Если вы предоставляете домашнюю страницу для Диска , реализуйте функцию drive.homepageTrigger для создания этого интерфейса. Вы также можете использовать интерфейс common.homepageTrigger для нескольких хостов Google Workspace .
  4. Если вы предоставляете контекстный интерфейс выбора элементов Drive, вы должны реализовать функцию контекстного триггера drive.onItemsSelectedTrigger для создания этого интерфейса. Дополнительные сведения см. в разделе Контекстный интерфейс Диска для выбранных элементов ).
  5. Реализуйте связанные функции обратного вызова, необходимые для реагирования на взаимодействие пользователя с пользовательским интерфейсом, например на нажатия кнопок.

Главные страницы Диска

Google Диск поддерживает отображение домашних страниц надстроек Google Workspace . Чтобы показать общую домашнюю страницу вашей надстройки на Google Диске, просто убедитесь, что в манифесте надстройки есть поле addOns.drive .

Кроме того, добавьте drive.homepageTrigger в манифест надстройки, чтобы указать домашнюю страницу для Диска.

В любом случае вы должны указать имя триггерной функции домашней страницы в проекте скрипта надстройки. Эта функция автоматически вызывается для создания домашней страницы Диска, когда это необходимо. Вы должны реализовать эту функцию для создания и возврата одной Card или массива объектов Card , составляющих домашнюю страницу. Триггерной функции домашней страницы передается объект события в качестве параметра, который содержит некоторую общую информацию, такую ​​как платформа клиента. Вы можете использовать данные объекта события, чтобы адаптировать структуру домашней страницы.

Контекстный интерфейс Диска для выбранных элементов

Google Диск полагается на контекстный триггер, чтобы определить, какой интерфейс (если есть) отображать, когда пользователь выбирает один или несколько элементов на Диске. Когда триггер срабатывает, он выполняет контекстную функцию триггера, указанную в поле drive.onItemsSelectedTrigger.runFunction в манифесте надстройки.

Чтобы создать контекстный интерфейс выбора элементов для Диска, необходимо сделать следующее:

  1. Убедитесь, что манифест надстройки включает область https://www.googleapis.com/auth/drive.addons.metadata.readonly .

  2. Убедитесь, что манифест включает раздел drive.onItemsSelectedTrigger .

  3. Реализуйте функцию, указанную в поле drive.onItemsSelectedTrigger . Эта функция принимает объект события в качестве аргумента и должна возвращать либо один объект Card , либо массив объектов Card .

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

Объекты событий

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

Полная структура объектов событий описана в Объекты событий . Когда Диск является действующим хост-приложением надстройки, объекты контекстных событий включают поле объекта события Диска, которое содержит информацию о клиенте Диска.

Контекстные объекты событий 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"
          },
          ...
        ]
      },
      ...
    }