Создание дополнений для Google Workspace

На этой странице представлен обзор того, как проектировать, создавать и публиковать надстройки Google Workspace. В этом обзоре объясняются следующие шаги:

  1. Определите приложения Google Workspace, в которых вы хотите, чтобы ваше дополнение было доступно пользователям.
  2. Настройте проекты своего дополнения и выберите владельца и соавторов.
  3. Спроектируйте и настройте внешний вид и поведение вашего дополнения.
  4. Создайте дополнение.
  5. Проверьте области действия OAuth вашего дополнения.
  6. Протестируйте надстройку в одном или нескольких приложениях Google Workspace.
  7. Опубликуйте дополнение.

Выберите хост-приложения Google Workspace

Вы можете настроить надстройки Google Workspace для отображения в следующих хост-приложениях Google Workspace:

  • Gmail
  • Google Календарь
  • Google Чат (предварительная версия для разработчиков)
  • Google Документы
  • Гугл Диск
  • Google Таблицы
  • Google Презентации

Чтобы узнать, как создавать приложения для Google Workspace, см. раздел Расширение пользовательского интерфейса Google Workspace .

Настройте проекты своего дополнения и выберите владельца и соавторов.

Если вы создаете надстройку в Apps Script, вы создаете как проект Apps Script, так и проект Google Cloud. Если вы создаете надстройку на языке, отличном от Apps Script, вам нужно только создать проект Google Cloud.

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

Проекты скриптов приложений

Вы можете создать файлы проекта Apps Script вашего дополнения на общем диске , чтобы ни одна учетная запись не имела единоличного владения. Размещение файла дополнительного сценария на общем диске гарантирует, что несколько соавторов получат доступ к проекту сценария.

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

Чтобы создать проект Apps Script, см. раздел Проекты сценариев .

Google Cloud-проекты

Мы рекомендуем вам добавить соавторов в облачный проект дополнения . Это помогает гарантировать, что кто-то из вашей команды всегда сможет получить доступ к настройкам облака надстройки.

Чтобы создать проект Google Cloud, см. раздел Создание проекта Google Cloud .

Спроектируйте и настройте внешний вид и поведение вашего дополнения.

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

Инструкции по созданию пользовательского интерфейса надстройки приведены в руководстве по стилю надстройки Google Workspace .

Настройте манифест дополнения

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

Подробную информацию см. в разделе «Манифесты для дополнения Google Workspace» .

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

Настройка внешнего вида и поведения приложения Google Chat

Если вы разработали надстройку, расширяющую Google Chat, вам необходимо использовать Google Chat API для настройки внешнего вида и поведения приложения Chat. Инструкции см. в разделе Настройка приложения Google Chat .

Создайте дополнение

Для дополнения необходимо реализовать карточный интерфейс. Используйте службу карточек Apps Script или, если вы пишете на другом языке кода, верните правильно отформатированный JSON, чтобы интерфейс отображался в виде карточек.

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

Создание карт

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

В Apps Script вы создаете карточки с помощью класса CardBuilder . Для каждой карты требуется CardHeader и один или несколько CardSections . Вам следует заполнить каждый раздел карточки отдельными виджетами, составляющими интерфейс дополнения. Виджеты взаимодействия обычно связаны с действиями , чтобы определить их поведение при взаимодействии.

После того, как вы добавили все разделы и виджеты на свою карту через CardBuilder , вы должны вызвать CardBuilder.build() , чтобы создать соответствующий объект Card .

Вы можете использовать другие встроенные службы Apps Script , такие как CalendarApp для получения информации для отображения в создаваемых вами дополнительных карточках. Вы можете использовать данные, полученные из сервисов, не принадлежащих Google.

Если вашей надстройке требуется доступ к API, не принадлежащим Google, для которых требуется OAuth, вам необходимо настроить эту службу и подключиться к ней — дополнительные сведения см. в руководстве по подключению к службам, не принадлежащим Google .

Порядок строительства

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

  1. Создайте виджет.
  2. Добавьте виджет в раздел карточки.
  3. Повторяйте до тех пор, пока в разделе карточки не появятся все виджеты.
  4. Добавьте раздел карты на карту.

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

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

Вы можете использовать универсальные действия для обеспечения контекстно-независимых функций. Универсальные действия — это пункты меню, доступные в пользовательском интерфейсе надстройки независимо от того, какая карточка отображается. Все определенные универсальные действия всегда отображаются в карточном меню дополнения.

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

Проверьте дополнительные области действия OAuth

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

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

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

Протестируйте дополнение

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

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

Опубликовать дополнение

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

Дополнения Google Workspace публикуются в Google Workspace Marketplace . Общедоступные дополнения должны пройти проверку перед публикацией.

Дополнительные сведения см. в разделе Публикация надстройки Google Workspace .