Neste guia, explicamos como usar o método get
no recurso membership
da API Google Chat para conferir detalhes sobre a participação de um usuário ou app do Chat em um espaço.
O
recurso Membership
representa se um usuário humano ou app do Google Chat foi convidado,
parte de ou ausente de um espaço.
A autenticação com a autenticação de apps permite que um app do Chat receba assinaturas de espaços a que ele tem acesso no Google Chat (por exemplo, espaços de que ele participa), mas exclui assinaturas de apps do Chat, incluindo os próprios. A autenticação com autenticação de usuário retorna associações de espaços a que o usuário autenticado tem acesso.
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. A assinatura oferece suporte aos dois métodos de autenticação a seguir:
- Autenticação do usuário com o escopo de autorização
chat.memberships.readonly
ouchat.memberships
. - Autenticação de app
com o escopo de autorização
chat.bot
.
- Autenticação do usuário com o escopo de autorização
Receber detalhes sobre a assinatura de um usuário ou um app do Chat
Para conferir detalhes sobre uma assinatura no Google Chat, transmita o seguinte na sua solicitação:
- Com a
autenticação de apps, especifique
o escopo de autorização
chat.bot
. Com a autenticação do usuário, especifique o escopo de autorizaçãochat.memberships.readonly
ouchat.memberships
. Como prática recomendada, escolha o escopo mais restritivo que ainda permita o funcionamento do app. - Chame o
método
get
no recursomembership
. - Transmita o
name
da assinatura para receber. Consiga o nome da assinatura no recurso de associação do Google Chat.
Confira como conseguir uma assinatura com a autenticação do usuário:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_membership_get.py
. Inclua o seguinte código em
chat_membership_get.py
: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"] def main(): ''' Authenticates with Chat API via user credentials, then gets details about a specified membership. ''' # 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().members().get( # The membership 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 MEMBER with a membership name. # Obtain the membership name from the memberships resource of # Chat API. name='spaces/SPACE/members/MEMBER' ).execute() # Prints details about the membership. print(result) if __name__ == '__main__': main()
No código, substitua o seguinte:
SPACE
: um nome de espaço, que pode ser encontrado no métodospaces.list
na API Chat ou no URL de um espaço.MEMBER
: um nome de assinatura, que pode ser obtido no métodospaces.members.list
na API Chat.
No diretório de trabalho, crie e execute a amostra:
python3 chat_membership_get.py
A API Chat retorna uma instância de
membership
detalhando a assinatura especificada.
Temas relacionados
- Listar os participantes em um espaço
- Convidar ou adicionar um usuário ou app do Chat a um espaço
- Atualizar a associação de um usuário em um espaço do Google Chat.
- Remover um usuário ou app do Chat de um espaço