Com o recurso MessagePin
na API Chat, seu app pode fixar e desafixar mensagens, além de
receber uma lista de todas as mensagens fixadas nos espaços do Google Chat. As mensagens fixadas ficam visíveis na interface do Chat para todos os participantes do espaço. Essa API ajuda seu app a gerenciar mensagens fixadas em nome de um usuário.
Para saber como os usuários fixam mensagens em espaços, consulte Fixar mensagens, arquivos e links em espaços e mensagens.
Pré-requisitos
Node.js
- Uma conta do Google Workspace Business ou Enterprise com acesso ao Google Chat.
- Configure seu ambiente:
- Crie um projeto do Google Cloud.
- Configure a tela de permissão OAuth.
- Ative e configure a API Google Chat com um nome, ícone e descrição para seu app do Chat.
- Instale a biblioteca de cliente do Cloud do Node.js.
-
Crie credenciais de ID do cliente OAuth para um aplicativo para computador. Para executar a amostra neste
guia, salve as credenciais como um arquivo JSON chamado
credentials.jsonno seu diretório local.
- Escolha um escopo de autorização que ofereça suporte à autenticação do usuário.
Considerações
- Só é possível fixar mensagens que já existem em um espaço. Não é possível criar e fixar uma nova mensagem na mesma solicitação.
- Não é possível fixar mensagens visíveis apenas para você. Por exemplo, não é possível fixar mensagens particulares recebidas de um app.
- Cada espaço do Chat pode ter até 100 mensagens fixadas. Se o app tentar fixar uma 101ª mensagem, a API vai retornar um erro.
Fixar uma mensagem
Para fixar uma mensagem com autenticação do usuário, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.spaces.pinsouchat.spaces. - Chame
messagePins.create. - Especifique o
parent(nome do espaço) e forneça umbodycom o nome do recursomessageda mensagem original.
O exemplo a seguir fixa uma mensagem em um espaço:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_pin_message.py. Inclua o seguinte código em
chat_pin_message.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then pins a message in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Pin a message. result = service.spaces().messagePins().create( # The space to pin the message in. # # Replace SPACE with a space ID or name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to pin. body={ 'message': 'spaces/SPACE/messages/MESSAGE' } ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()No código, substitua o seguinte:
No diretório de trabalho, crie e execute a amostra:
python3 chat_pin_message.py
Desafixar uma mensagem
Para desfixar uma mensagem com autenticação do usuário, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.spaces.pinsouchat.spaces. - Chame
messagePins.delete. - Defina
namecomo o nome do recurso doMessagePina ser excluído.
Veja como desafixar uma mensagem:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_unpin_message.py. Inclua o seguinte código em
chat_unpin_message.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then unpins a message from a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Unpin a message. result = service.spaces().messagePins().delete( # The resource name of the message pin to delete. # # Replace SPACE with a space ID or name, and MESSAGE with the message ID. name='spaces/SPACE/messagePins/MESSAGE' ).execute() print(result) if __name__ == '__main__': main()No código, substitua o seguinte:
No diretório de trabalho, crie e execute a amostra:
python3 chat_unpin_message.py
Receber uma lista de mensagens fixadas
Para receber uma lista de mensagens fixadas nos espaços a que você tem acesso, use a autenticação de usuário e transmita o seguinte na sua solicitação:
- Especifique um dos escopos de leitura:
chat.spaces.pins.readonly,chat.spaces.readonly,chat.spaces.pinsouchat.spaces. - Chame
messagePins.list. - Especifique
parentcomo o nome do espaço para buscar as mensagens fixadas.
Confira como listar as mensagens fixadas:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_list_pinned_messages.py. Inclua o seguinte código em
chat_list_pinned_messages.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists pinned messages in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # List pinned messages. result = service.spaces().messagePins().list( # The space to list pinned messages from. # # Replace SPACE with a space ID or name. parent='spaces/SPACE' ).execute() print(result) if __name__ == '__main__': main()No código, substitua
SPACEpelo ID do espaço nonamedo espaço.No diretório de trabalho, crie e execute a amostra:
python3 chat_list_pinned_messages.py
Temas relacionados
- Formatar uma mensagem.
- Excluir uma mensagem.
- Receber detalhes sobre uma mensagem.
- Listar mensagens em um espaço.
- Atualizar uma mensagem.
- Enviar uma mensagem.