Служба расширенного чата позволяет использовать API Google Chat в скриптах приложений. Этот API позволяет сценариям находить, создавать и изменять пространства чата, добавлять или удалять участников в пространствах, а также читать или публиковать сообщения с текстом, карточками, вложениями и реакциями.
Предварительные условия
- Приложение Apps Script Google Chat, настроенное на странице конфигурации Chat API в консоли Google Cloud. Проект Apps Script приложения должен использовать стандартный проект Google Cloud вместо проекта по умолчанию, автоматически создаваемого для проектов Apps Script. Чтобы создать совместимое приложение Google Chat, см. раздел Создание приложения Google Chat с помощью Apps Script .
- Аутентификация настроена для приложения Chat. Выполнение действия от имени пользователя требует аутентификации пользователя . Для выполнения действия в приложении Chat требуется проверка подлинности приложения с помощью учетной записи службы . Чтобы узнать, какую форму аутентификации поддерживает метод Chat API, см. Типы обязательной аутентификации для вызовов Google Chat API .
Ссылка
Дополнительные сведения об этом сервисе см. в справочной документации Chat API . Как и все расширенные службы в Apps Script, служба Chat использует те же объекты, методы и параметры, что и общедоступный API.
Образец кода
В этих примерах показано, как выполнять распространенные действия API Google Chat с помощью расширенной службы.
Опубликовать сообщение с учетными данными пользователя
В следующем примере показано, как опубликовать сообщение в чате от имени пользователя.
Добавьте область
chat.messages.create
в файлappsscript.json
проекта Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
Добавьте такую функцию в код проекта Apps Script:
Опубликовать сообщение с учетными данными приложения
В следующем примере показано, как опубликовать сообщение в пространстве чата от имени приложения. Использование расширенной службы чата с учетной записью службы не требует указания областей авторизации в appsscript.json
. Подробную информацию об аутентификации с помощью сервисных аккаунтов см. в разделе Аутентификация в качестве приложения Google Chat .
Получите место
В следующем примере показано, как получить информацию о пространстве чата.
Добавьте область
chat.spaces.readonly
в файлappsscript.json
проекта Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
Добавьте такую функцию в код проекта Apps Script:
Создайте пространство
В следующем примере показано, как создать пространство чата.
Добавьте область
chat.spaces.create
в файлappsscript.json
проекта Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
Добавьте такую функцию в код проекта Apps Script:
Список участников
В следующем примере показано, как составить список всех участников пространства чата.
Добавьте область
chat.memberships.readonly
в файлappsscript.json
проекта Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
Добавьте такую функцию в код проекта Apps Script:
Устранение неполадок
Если вы столкнулись с Error 400: invalid_scope
с сообщением об ошибке Some requested scopes cannot be shown
, это означает, что вы не указали какие-либо области авторизации в файле appsscript.json
проекта Apps Script. В большинстве случаев Apps Script автоматически определяет, какие области необходимы сценарию, но при использовании расширенной службы Chat необходимо вручную добавить области авторизации, используемые вашим сценарием, в файл манифеста вашего проекта Apps Script. См. раздел Установка явных областей действия .
Чтобы устранить эту ошибку, добавьте соответствующие области авторизации в файл appsscript.json
проекта Apps Script как часть массива oauthScopes
. Например, чтобы вызвать метод spaces.messages.create
, добавьте следующее:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Ограничения и соображения
Служба расширенного чата не поддерживает:
- Метод API чата
media.download
. - Методы API чата, доступные в предварительной версии для разработчиков
Чтобы загрузить вложение к сообщению или вызвать метод предварительного просмотра разработчика, используйте вместо этого UrlFetchApp
.