Nesta página, explicamos como criar e enviar mensagens de texto como um app do Google Chat. Para mais informações sobre mensagens, consulte Visão geral das mensagens do Google Chat.
Pré-requisitos
Node.js
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um app do Chat. Para criar um app do Chat, siga este guia de início rápido.
Python
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um app do Chat. Para criar um app do Chat, siga este guia de início rápido.
Apps Script
- Uma conta do Google Workspace com acesso ao Google Chat.
- Um app do Chat. Para criar um app do Chat, siga este guia de início rápido.
Criar mensagens de texto
Nesta seção, descrevemos como criar mensagens de texto de duas maneiras: respondendo a uma interação do usuário ou chamando a API Google Chat de forma assíncrona.
Responder a um usuário
Neste exemplo, o app do Chat cria e envia uma mensagem de texto sempre que é adicionado a um espaço. Para saber mais sobre as práticas recomendadas para integrar usuários, consulte Começar a usar uma integração útil para pessoas e espaços.
Para enviar uma mensagem de texto quando um usuário adiciona seu app do Chat
a um espaço, o app do Chat
responde a um evento de interação
ADDED_TO_SPACE
.
Para responder a eventos de interação do ADDED_TO_SPACE
com uma mensagem de texto, use
este código:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
res.send(
'Hello! This function is meant to be used in a Google Chat space.');
}
// Send an onboarding message when added to a Chat space
if(req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Scheduler at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
learn what else I can do, type `/help`.'
});
}
};
Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Scheduler at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
what else I can do, type `/help`.'
}
}
O exemplo de código retorna a seguinte mensagem de texto:
Chamar a API Google Chat
Na seção a seguir, explicamos como criar uma mensagem de texto chamando assincronamente a API Google Chat.
Chamar a API Chat de forma assíncrona exige autenticação. Quando um app do Chat cria uma mensagem de texto, ele pode usar a autenticação de app (para enviar a mensagem como o app do Chat) ou a autenticação do usuário (para enviar a mensagem em nome de um usuário). Nesta seção, explicamos como enviar mensagens de texto usando qualquer um dos tipos de autenticação.
Para configurar a autenticação e saber como criar mensagens de forma assíncrona, consulte o guia da API Chat.
Criar uma mensagem de texto com autenticação de app
Veja como enviar uma mensagem de texto com a autenticação de aplicativos:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_create_text_message_app.py
. Inclua o seguinte código em
chat_create_text_message_app.py
:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'credentials.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
No código, substitua
SPACE
por um nome de espaço, que pode ser encontrado no métodospaces.list()
na API Chat ou no URL de um espaço.No diretório de trabalho, crie e execute o exemplo:
python3 chat_create_text_message_app.py
A API Chat retorna uma instância de
Message
que detalha a mensagem enviada.
Criar uma mensagem de texto com autenticação de usuário
Veja como enviar uma mensagem de texto com a autenticação do usuário:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_create_text_message_user.py
. Inclua o seguinte código em
chat_create_text_message_user.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.messages.create"] def main(): ''' Authenticates with Chat API via user credentials, then creates a text message in a Chat space. ''' # Start with no credentials. creds = None # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
No código, substitua
SPACE
por um nome de espaço, que pode ser encontrado no métodospaces.list()
da API Chat ou no URL de um espaço.No diretório de trabalho, crie e execute o exemplo:
python3 chat_create_text_message_user.py
A API Chat retorna uma instância de
Message
que detalha a mensagem enviada.
Resolver problemas
Quando um app ou card do Google Chat retorna um erro, a interface do Chat mostra uma mensagem dizendo "Ocorreu um erro" ou "Não foi possível processar sua solicitação". Às vezes, a IU do Chat não mostra nenhuma mensagem de erro, mas o app ou o card do Chat produz um resultado inesperado. Por exemplo, uma mensagem de card pode não aparecer.
Embora uma mensagem de erro talvez não apareça na IU do Chat, mensagens de erro descritivas e dados de registro estão disponíveis para ajudar a corrigir erros quando o registro de erros nos apps do Chat está ativado. Se precisar de ajuda para ver, depurar e corrigir erros, consulte Resolver problemas e corrigir erros do Google Chat.
Temas relacionados
- Formatar uma mensagem: saiba como formatar texto em mensagens.
- Receber uma mensagem: veja detalhes sobre uma mensagem, como quando ela foi enviada ou o que ela diz.
- Listar mensagens: veja uma lista paginada e filtrável de mensagens em um espaço.
- Atualizar uma mensagem: mude os atributos da mensagem, como o que ela diz. Também é possível anexar texto a uma mensagem de cartão ou um cartão a uma mensagem de texto.
- Excluir uma mensagem: remova uma mensagem de um espaço.
- Identificar usuários nas mensagens do Google Chat