Neste guia, explicamos como usar o método
get
no
recurso SpaceEvent
da
API Google Chat para conferir detalhes sobre um evento em um espaço do Google Chat.
O recurso SpaceEvent
representa uma mudança em um espaço ou nos recursos
filhos, como mensagens, reações e associações. Para saber mais
sobre os tipos de evento compatíveis, consulte o campo eventType
da
documentação de referência do
recurso SpaceEvent
.
É possível solicitar eventos até 28 dias antes do pedido. O evento
contém a versão mais recente do recurso que foi alterado. Por exemplo, se você solicitar um evento sobre uma nova mensagem, mas ela tiver sido atualizada posteriormente, o servidor retornará o recurso Message
atualizado no payload do evento.
Para chamar esse método, use a autenticação de usuário. Para receber um evento, o usuário autenticado precisa fazer parte do espaço em que o evento ocorreu.
Pré-requisitos
Python
- Python 3.6 ou superior
- A ferramenta de gerenciamento de pacotes pip
As bibliotecas de cliente mais recentes do Google para Python. Para instalar ou atualizar, execute o seguinte na interface de linha de comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Um projeto do Google Cloud com a API Google Chat ativada e configurada. Veja as etapas em Criar um app do Google Chat.
Autorização configurada para o app do Chat. Para receber um evento do espaço, é preciso ter a autenticação do usuário com um escopo compatível com o tipo de evento. Para escolher um escopo, consulte a Visão geral de autenticação e autorização.
Receber detalhes sobre um evento do espaço
Para conferir detalhes sobre uma SpaceEvent
no Google Chat, faça o seguinte:
- Chame o método
get
no recursoSpaceEvent
. - Transmita o
name
doSpaceEvent
para receber. Consiga o nomeSpaceEvent
do recursoSpaceEvent
do Google Chat. - Com a autenticação do usuário, especifique um escopo de autorização compatível com o tipo de evento na sua solicitação. Como prática recomendada, escolha o escopo mais restritivo que ainda permita que o app funcione.
Confira como conseguir um SpaceEvent
com
autenticação de usuário:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_space_event_get.py
. Inclua o seguinte código em
chat_space_event_get.py
:"""Gets a SpaceEvent resource from the Chat API.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ['SCOPE'] # 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() .spaceEvents() .get( # The space event to get. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace SPACE_EVENT with a SpaceEvent name. # Obtain the spaceEvent name from the SpaceEvent resource of # Chat API. name='spaces/SPACE/spaceEvents/SPACE_EVENT' ) .execute() ) # Prints details about the created spaceEvent. print(result)
No código, substitua o seguinte:
SCOPE
: um escopo de autorização com base no tipo de evento. Por exemplo, se você estiver recebendo um evento do espaço sobre uma nova associação, use o escopochat.memberships.readonly
, formatado comohttps://www.googleapis.com/auth/chat.memberships.readonly
. Você pode conferir o tipo de evento no métodospaces.spaceEvents.list
. Para saber como usar esse método, consulte Listar eventos de um espaço.SPACE
: um nome de espaço, que pode ser encontrado no métodospaces.list
na API Chat ou no URL de um espaço.SPACE_EVENT
: o nome do evento de espaço, que pode ser obtido do métodospaces.spaceEvents.list
.
No diretório de trabalho, crie e execute a amostra:
python3 chat_space_event_get.py
A API Chat retorna uma instância de
SpaceEvent
com detalhes sobre o evento.