Com o serviço avançado de chat, é possível usar a API Google Chat no Apps Script. Com ela, os scripts encontram, criam e mudam os espaços do Chat, adicionam ou removem participantes e leem ou postam mensagens com texto, cards, anexos e reações.
Pré-requisitos
- Um app do Google Chat do Apps Script configurado na página de configuração da API Chat no console do Google Cloud. O projeto do Apps Script do app precisa usar um projeto padrão do Google Cloud em vez do projeto padrão criado automaticamente para projetos do Apps Script. Para criar um app do Google Chat compatível, consulte Criar um app do Google Chat com o Google Apps Script.
- Autenticação configurada para o app Chat. Para realizar uma ação em nome de um usuário, é necessário autenticação do usuário. Para realizar uma ação como o app Chat, é necessário autenticar o app com uma conta de serviço. Para verificar qual forma de autenticação um método da API Chat aceita, consulte Tipos de autenticação necessários para chamadas da API Google Chat.
Referência
Para mais informações sobre esse serviço, consulte a documentação de referência da API Chat. Assim como todos os serviços avançados no Apps Script, o serviço Chat usa os mesmos objetos, métodos e parâmetros da API pública.
Código de amostra
Estes exemplos mostram como realizar ações comuns da API Google Chat usando o serviço avançado.
Postar uma mensagem com credenciais de usuário
O exemplo a seguir demonstra como postar uma mensagem em um espaço do Chat em nome do usuário.
Adicione o escopo de autorização
chat.messages.create
ao arquivoappsscript.json
do projeto do Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
Adicione uma função como esta ao código do projeto do Apps Script:
Postar uma mensagem com credenciais do app
O exemplo a seguir demonstra como postar uma mensagem em um
espaço do Chat em nome do app. Usar o serviço avançado
do Chat com uma conta de serviço não exige que você
especifique escopos de autorização em appsscript.json
. Para detalhes sobre
a autenticação com contas de serviço, consulte
Autenticar como um app do Google Chat.
Criar um espaço
O exemplo a seguir demonstra como receber informações sobre um espaço do Chat.
Adicione o escopo de autorização
chat.spaces.readonly
ao arquivoappsscript.json
do projeto do Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
Adicione uma função como esta ao código do projeto do Apps Script:
Criar um espaço
O exemplo a seguir demonstra como criar um espaço do Chat.
Adicione o escopo de autorização
chat.spaces.create
ao arquivoappsscript.json
do projeto do Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
Adicione uma função como esta ao código do projeto do Apps Script:
Listar assinaturas
O exemplo a seguir mostra como listar todos os membros de um espaço do Chat.
Adicione o escopo de autorização
chat.memberships.readonly
ao arquivoappsscript.json
do projeto do Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
Adicione uma função como esta ao código do projeto do Apps Script:
Resolver problemas
Se você encontrar Error 400: invalid_scope
com a mensagem de erro
Some requested scopes cannot be shown
,
isso significa que você não especificou nenhum escopo de autorização no
arquivo appsscript.json
do projeto do Apps Script. Na maioria dos casos, o Apps Script determina automaticamente quais escopos um script precisa, mas, ao usar o serviço avançado do Chat, é necessário adicionar manualmente ao arquivo de manifesto do projeto do Apps Script os escopos de autorização que o script usa. Consulte Definir escopos explícitos.
Para resolver o erro, adicione os escopos de autorização adequados ao arquivo appsscript.json
do projeto do Apps Script como parte da matriz oauthScopes
. Por exemplo, para chamar o método
spaces.messages.create
, adicione o seguinte:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Limitações e considerações
O serviço Advanced Chat não é compatível com:
- O método da API Chat
media.download
. - Métodos da API Chat disponíveis na prévia para desenvolvedores
Para baixar um anexo de mensagem ou chamar um método de prévia para desenvolvedores, use
UrlFetchApp
.