Com o serviço avançado de chat, é possível usar a API Google Chat no Apps Script. Essa API permite que os scripts encontrem, criem e modifiquem espaços do Chat, adicionem ou removam participantes e leiam ou postem 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 padrão criado automaticamente para projetos do Apps Script. Para criar um app compatível com o Google Chat, consulte Criar um app do Google Chat com o Apps Script.
- Autenticação configurada para o app Chat. Realizar uma ação em nome de um usuário exige autenticação do usuário. A realização de uma ação como o app Chat exige autenticação do app com uma conta de serviço. Para verificar qual forma de autenticação um método da API Chat oferece suporte, 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 de chat usa os mesmos objetos, métodos e parâmetros que a API pública.
Código de amostra
Esses 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 de 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 de chat em nome do app. O uso do serviço
avançado de chat com uma conta de serviço não exige que você
especifique os escopos de autorização em appsscript.json
. Para saber mais sobre
a autenticação com contas de serviço, consulte
Como autenticar como um app do Google Chat.
Acessar os detalhes de um espaço
O exemplo a seguir demonstra como receber informações sobre um espaço de 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 demonstra como listar todos os membros de um espaço de 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
,
significa que 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
os escopos de autorização usados pelo script ao
arquivo de manifesto do projeto do Apps Script. Consulte
Como definir escopos explícitos.
Para resolver o erro, adicione os escopos de autorização apropriados
ao arquivo appsscript.json
do projeto do Apps Script como parte
do array oauthScopes
. Por exemplo, para chamar o método
spaces.messages.create
, adicione o seguinte:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Limites e considerações
O serviço de chat avançado 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 fazer o download de um anexo de mensagem ou chamar um método de visualização para desenvolvedores, use
UrlFetchApp
.