Com o serviço Advanced Chat, você pode usar a API Google Chat no Apps Script. Essa API permite que os scripts encontrem, criem e modifiquem os 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 no 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 do Google Chat, consulte Criar um app do Google Chat com o Apps Script.
- Autenticação configurada para o app do Chat. Executar uma ação em nome de um usuário requer a autenticação do usuário. Realizar uma ação porque o app do Chat exige autenticação do app com uma conta de serviço. Para verificar qual forma de autenticação é compatível com um método da API Chat, consulte Tipos de autenticação necessárias 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 do Chat usa os mesmos objetos, métodos e parâmetros que a API pública.
Exemplo de código
Estes exemplos mostram como executar 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 as credenciais do app
O exemplo a seguir demonstra como postar uma mensagem em um
espaço do Chat em nome do app. Não é necessário
especificar escopos de autorização em appsscript.json
para usar o serviço avançado
do Chat com uma conta de serviço. Para detalhes sobre
autenticação com contas de serviço, consulte
Autenticar como um app do Google Chat.
Comprar um espaço
O exemplo a seguir demonstra como acessar 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
Confira no exemplo a seguir 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:
Associações à lista
Confira no exemplo a seguir como listar todos os participantes 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
,
significa que nenhum escopo de autorização foi especificado no
arquivo appsscript.json
do projeto do Apps Script. Na maioria dos casos, o Apps Script determina automaticamente de quais escopos um script precisa, mas, quando você usa o serviço avançado do Chat, precisa 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 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"
]
Limites e considerações
O serviço avançado do Chat não é compatível com:
- O método
media.download
da API Chat. - 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
.