Este guia explica como usar o list
no recurso SpaceEvent
da API Google Chat para listar as mudanças nos recursos de um espaço.
O recurso SpaceEvent
representa uma mudança no espaço de destino, incluindo recursos filhos do espaço.
como mensagens, reações e associações. Para mais informações sobre o
lista de tipos e payloads de eventos compatíveis, consulte os eventType
e
payload
campos do recurso SpaceEvent
documentação de referência.
É possível listar eventos até 28 dias antes do momento da solicitação. O servidor
retorna eventos que contêm a versão mais recente do recurso afetado.
Por exemplo, se você listar eventos sobre novos participantes do espaço, o servidor retornará
Recursos de Membership
que contêm os detalhes mais recentes da assinatura. Se for novo
membros foram removidos durante o período solicitado, a carga útil do evento contém um
recurso Membership
vazio.
Para chamar esse método, você deve usar user autenticação. Para listar eventos em um espaço, o usuário autenticado precisa participar do espaço.
Pré-requisitos
Python
- Uma empresa Conta do Google Workspace com acesso a Google Chat.
- Python 3.6 ou superior
- a ferramenta de gerenciamento de pacotes PIP;
- As bibliotecas de cliente mais recentes do Google. Para instalar ou atualizar esses recursos,
execute o seguinte comando na interface de linha de comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Configure o ambiente:
- Crie um projeto do Google Cloud.
- Configure a tela de permissão OAuth.
- Ative e configure a API Google Chat com um nome. o ícone e a descrição do app do Chat.
-
Criar credenciais de ID do cliente OAuth para um aplicativo para computador. Para executar o exemplo
salve as credenciais como um arquivo JSON (
client_secrets.json
) no seu no diretório local.
- Escolha um escopo de autorização que ofereça suporte à autenticação de usuários.
Listar eventos do espaço
Para listar eventos em um espaço do Chat, faça o seguinte:
- Chame o método
list
. noSpaceEvent
recurso. - Especifique quais tipos de eventos serão listados usando o
filter
. É necessário especificar pelo menos um tipo de evento, além de filtrar por data. Para ver uma lista de tipos de evento compatíveis, consulteeventType
campo. - Com user de autenticação, especifique um ou mais escopos de autorização para oferecer suporte a cada tipo de evento da solicitação. Como prática recomendada, escolha o escopo mais restritivo que ainda permite que seu app funcione. Para escolher um escopo, consulte a Visão geral de autenticação e autorização.
No exemplo de código a seguir, você lista eventos sobre novas associações e mensagens em um espaço.
Python
- No diretório de trabalho, crie um arquivo chamado
chat_space_event_list.py
. Inclua o seguinte código em
chat_space_event_list.py
:"""Lists SpaceEvent resources 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 = ["https://www.googleapis.com/auth/chat.memberships.readonly", "https://www.googleapis.com/auth/chat.messages.readonly"] # 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().list( # The space from which to list events. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # A required filter. Filters and returns events about new memberships and messages filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"' ).execute() # Prints details about the created space events. print(result)
No código, substitua o seguinte:
SPACE
: um nome de espaço, que você pode conferir em O métodospaces.list
na API Chat ou pelo URL de um espaço.
No diretório de trabalho, crie e execute o exemplo:
python3 chat_space_event_list.py
A API Chat retorna uma lista de
SpaceEvent
recursos
eventos sobre novas associações e mensagens.
Personalizar paginação
Se quiser, transmita os seguintes parâmetros de consulta para personalizar a paginação:
pageSize
: o número máximo de recursosSpaceEvent
a serem retornados. O serviço pode retornar menos do que esse valor. Valores negativos retornam umINVALID_ARGUMENT
erro.pageToken
: um token de página recebido de uma chamada anterior de eventos do espaço de lista. Forneça esse token para recuperar a página subsequente. Na paginação, o O valor do filtro precisa corresponder à chamada que forneceu o token da página. Transmitir um valor de um valor diferente pode levar a resultados inesperados.