Управляйте чатами, участниками и сообщениями.
Сервис Advanced Chat позволяет использовать API Google Chat в Google Apps Script. Этот API позволяет скриптам находить, создавать и изменять чат-пространства, добавлять или удалять участников из этих пространств, а также читать или публиковать сообщения с текстом, карточками, вложениями и реакциями.
Предварительные требования
- Приложение Google Chat, созданное с помощью Apps Script и настроенное на странице конфигурации Chat API в консоли Google Cloud. Проект Apps Script приложения должен использовать стандартный проект Google Cloud, а не тот, который создается автоматически для проектов Apps Script. Чтобы создать совместимое приложение Google Chat, см. раздел «Создание приложения Google Chat с помощью Google Apps Script» .
- Для приложения «Чат» настроена аутентификация. Выполнение действия от имени пользователя требует аутентификации пользователя . Выполнение действия от имени приложения «Чат» требует аутентификации приложения с использованием учетной записи службы . Чтобы проверить, какой тип аутентификации поддерживает метод API чата, см. раздел «Типы необходимой аутентификации для вызовов API Google Chat» .
Это расширенная услуга, которую необходимо включить перед использованием .
Ссылка
Для получения дополнительной информации об этой услуге см. справочную документацию по API чата . Как и все расширенные службы в Apps Script, служба чата использует те же объекты, методы и параметры, что и публичный 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 автоматически определяет, какие области действия необходимы скрипту, но при использовании расширенной службы чата вам необходимо вручную добавить области авторизации, используемые вашим скриптом, в файл манифеста проекта Apps Script. См. раздел " Настройка явных областей действия" .
Для устранения ошибки добавьте соответствующие области авторизации в файл appsscript.json проекта Apps Script в составе массива oauthScopes . Например, для вызова метода spaces.messages.create добавьте следующее:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Ограничения и соображения
Сервис расширенного чата не поддерживает:
- Метод API чата
media.download. - Методы API чата, доступные в предварительной версии для разработчиков.
Для загрузки вложенного сообщения или вызова метода из предварительной версии для разработчиков используйте вместо этого UrlFetchApp .