Управляйте чатами, участниками и сообщениями.
Сервис 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 функцию, подобную этой:
Устранение неполадок
If you encounter Error 400: invalid_scope with the error message Some requested scopes cannot be shown , it means you haven't specified any authorization scopes in the Apps Script project's appsscript.json file. In most cases, Apps Script automatically determines what scopes a script needs, but when you use the Chat advanced service, you must manually add the authorization scopes that your script uses to your Apps Script project's manifest file. See Setting explicit scopes .
Для устранения ошибки добавьте соответствующие области авторизации в файл appsscript.json проекта Apps Script в составе массива oauthScopes . Например, для вызова метода spaces.messages.create добавьте следующее:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Ограничения и соображения
Сервис расширенного чата не поддерживает:
- Метод API чата
media.download. - Методы API чата, доступные в предварительной версии для разработчиков.
Для загрузки вложенного сообщения или вызова метода из предварительной версии для разработчиков используйте вместо этого UrlFetchApp .