В этом руководстве объясняется, как использовать метод get() ресурса Message в Google Chat API для получения подробной информации о текстовом сообщении или сообщении на карточке.
В API чата сообщение чата представлено ресурсом Message . Хотя пользователи чата могут отправлять только текстовые сообщения, приложения чата могут использовать множество других функций обмена сообщениями, включая отображение статических или интерактивных пользовательских интерфейсов, сбор информации от пользователей и доставку сообщений в приватном режиме. Чтобы узнать больше о функциях обмена сообщениями, доступных в API чата, см. обзор сообщений Google Chat .
Предварительные требования
Node.js
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Node.js Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
- Пространство Google Chat, в котором аутентифицированный пользователь или приложение для чата является участником. Чтобы аутентифицироваться как приложение для чата, добавьте приложение для чата в это пространство .
Python
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Python Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
- Пространство Google Chat, в котором аутентифицированный пользователь или приложение для чата является участником. Чтобы аутентифицироваться как приложение для чата, добавьте приложение для чата в это пространство .
Java
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Java Cloud Client Library .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
- Пространство Google Chat, в котором аутентифицированный пользователь или приложение для чата является участником. Чтобы аутентифицироваться как приложение для чата, добавьте приложение для чата в это пространство .
Apps Script
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Создайте автономный проект Apps Script и включите расширенную службу чата .
- В этом руководстве необходимо использовать либо аутентификацию пользователя, либо аутентификацию приложения . Для аутентификации в качестве приложения «Чат» создайте учетные данные сервисной учетной записи. Инструкции см. в разделе «Аутентификация и авторизация в качестве приложения Google Chat» .
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
- Пространство Google Chat, в котором аутентифицированный пользователь или приложение для чата является участником. Чтобы аутентифицироваться как приложение для чата, добавьте приложение для чата в это пространство .
Получить сообщение с аутентификацией пользователя.
Чтобы получить подробную информацию о сообщении с аутентификацией пользователя , передайте в запросе следующее:
- Укажите область авторизации
chat.messages.readonlyилиchat.messages. - Вызовите метод
GetMessage(). - Укажите
nameресурса, к которому нужно получить сообщение.
В следующем примере получено сообщение с подтверждением аутентификации пользователя :
Node.js
Python
Java
Apps Script
Для запуска этого примера замените следующее:
-
SPACE_NAME: идентификатор изnameпространства. Вы можете получить идентификатор, вызвав методListSpaces()или из URL-адреса пространства. -
MESSAGE_NAME: идентификатор изnameсообщения. Вы можете получить идентификатор из тела ответа, возвращаемого после асинхронного создания сообщения с помощью Chat API, или из пользовательского имени , присвоенного сообщению при создании.
API чата возвращает экземпляр объекта Message , содержащий подробную информацию об указанном сообщении.
Получите сообщение с аутентификацией приложения.
Чтобы получить подробную информацию о сообщении, прошедшем аутентификацию приложения , передайте в запросе следующие данные:
- Укажите область авторизации. В примерах этого раздела используется область авторизации
chat.bot, которая общедоступна и не требует подтверждения администратора. В качестве альтернативы вы можете авторизоваться как приложение чата с подтверждением администратора, что доступно в предварительной версии для разработчиков . - Вызовите метод
GetMessage(). - Укажите
nameресурса, к которому нужно получить сообщение.
В следующем примере получено сообщение с подтверждением авторизации приложения :
Node.js
Python
Java
Apps Script
Для запуска этого примера замените следующее:
-
SPACE_NAME: идентификатор изnameпространства. Вы можете получить идентификатор, вызвав методListSpaces()или из URL-адреса пространства. -
MESSAGE_NAME: идентификатор изnameсообщения. Вы можете получить идентификатор из тела ответа, возвращаемого после асинхронного создания сообщения с помощью Chat API, или из пользовательского имени , присвоенного сообщению при создании.
API чата возвращает экземпляр объекта Message , содержащий подробную информацию об указанном сообщении.
Получите сообщение в виде сообщения в чате с одобрения администратора.
Для аутентификации приложения с использованием области авторизации chat.app.* требуется однократное подтверждение администратора .
Чтобы получить подробную информацию о сообщении с аутентификацией приложения с помощью REST API чата , передайте в запросе следующее:
- Вызовите метод
GetMessage(). - Укажите область авторизации
chat.app.messages.readonly. - Укажите
nameресурса, к которому нужно получить сообщение.
Создайте ключ API
Для вызова метода API из предварительной версии для разработчиков необходимо использовать непубличную предварительную версию документа обнаружения API. Для аутентификации запроса необходимо передать ключ API.
Чтобы создать ключ API, откройте проект Google Cloud вашего приложения и выполните следующие действия:
- В консоли Google Cloud перейдите в > API и сервисы > Учетные данные .
- Нажмите «Создать учетные данные» > «Ключ API» .
- Ваш новый API-ключ отображен.
- Нажмите «Копировать , чтобы скопировать свой API-ключ для использования в коде вашего приложения. API-ключ также можно найти в разделе «API-ключи» в учетных данных вашего проекта.
- Для предотвращения несанкционированного использования мы рекомендуем ограничить места и типы API, для которых можно использовать ключ API. Более подробную информацию см. в разделе «Добавление ограничений API» .
Напишите скрипт, который вызывает API чата.
Вот как получить подробную информацию о сообщении с помощью аутентификации приложения и подтверждения администратора, а также REST API чата :
Python
- В рабочей директории создайте файл с именем
chat_messages_get_admin_app.py. Включите следующий код в
chat_messages_get_admin_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.messages.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then gets details about a message. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().messages().get( # The message to get details about. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='spaces/SPACE_NAME/messages/MESSAGE_NAME', ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()В коде замените следующее:
-
API_KEY: ключ API, который вы создали для построения конечной точки сервиса для Chat API. -
SPACE_NAME: идентификатор изnameпространства. Вы можете получить идентификатор, вызвав методListSpaces()или из URL-адреса пространства. -
MESSAGE_NAME: идентификатор изnameсообщения. Вы можете получить идентификатор из тела ответа, возвращаемого после асинхронного создания сообщения с помощью Chat API, или из пользовательского имени , присвоенного сообщению при создании.
-
В рабочей директории соберите и запустите пример:
python3 chat_messages_get_admin_app.py
API чата возвращает экземпляр объекта Message , содержащий подробную информацию об указанном сообщении.
Связанные темы
- Отформатировать сообщение .
- Удалить сообщение .
- Список сообщений в пространстве .
- Обновить сообщение .
- Отправить сообщение .