Este guia explica como usar o
delete()
método no recurso Membership da API Google Chat para remover participantes de um
espaço, também conhecido como exclusão de uma participação. Os administradores não podem ser removidos se forem os únicos em um espaço. Atribua outro usuário como administrador antes de remover essas participações.
Se você for um administrador do Google Workspace, poderá remover usuários, Grupos do Google ou apps do Chat de qualquer espaço na sua organização do Google Workspace.
O recurso
Membership representa se um usuário humano ou um app do Google Chat foi convidado, faz parte ou está ausente de um espaço.
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 para Node.js.
- Crie credenciais de acesso com base em como você quer fazer a autenticação na solicitação da API Google Chat:
request:
- Para fazer a autenticação como um usuário do Chat,
crie credenciais de ID do cliente OAuth e salve-as como um arquivo JSON chamado
credentials.jsonno seu diretório local. - Para fazer a autenticação como o app do Chat,
crie credenciais de conta de serviço e salve-as como um arquivo JSON chamado
credentials.json.
- Para fazer a autenticação como um usuário do Chat,
crie credenciais de ID do cliente OAuth e salve-as como um arquivo JSON chamado
- Escolha um escopo de autorização com base em se você quer fazer a autenticação como um usuário ou o app do Chat.
- Um espaço do Google Chat. Para criar um usando a API Google Chat, consulte Criar um espaço. Para criar um no Chat, acesse a documentação da Central de Ajuda.
Remover um participante de um espaço como usuário
Para remover um usuário, um Grupo do Google ou um app do Chat de um espaço com autenticação de usuário, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.memberships. O usuário autorizador precisa ter permissão para remover o usuário ou o Grupo do Google do espaço. Para remover um app do Chat, especifique o escopo de autorizaçãochat.memberships.app. Os apps só podem excluir a própria participação, não a de outros apps. Como prática recomendada, escolha o escopo mais restritivo que ainda permita que seu app funcione. - Chame o
DeleteMembership()método. - Transmita o
nameda participação a ser excluída. Se a participação pertencer ao único administrador de um espaço, atribua outro usuário como administrador antes de excluir essa participação.
Veja como excluir uma participação com autenticação de usuário:
Node.js
Para executar este exemplo, substitua o seguinte:
SPACE_NAME: o ID donamedo espaço. Você pode receber o ID chamando oListSpaces()método ou no URL do espaço.MEMBER_NAME: o ID donamedo participante. Você pode receber o ID chamando oListMemberships()método.
Se for bem-sucedido, o corpo da resposta vai retornar a participação com
'state': 'NOT_A_MEMBER', indicando que o participante não está mais no espaço.
{
"name": "spaces/SPACE_NAME/members/MEMBER_NAME",
"state": "NOT_A_MEMBER"
}
Remover um participante de um espaço como um app do Chat
A autenticação de apps exige a aprovação única do administrador.
Para remover um usuário, um Grupo do Google ou um app do Chat de um espaço com autenticação de app, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.app.memberships. A exclusão da participação de um administrador de espaço só é compatível com espaços criados por apps do Chat. - Chame o
deletemétodo nomembershiprecurso. - Transmita o
nameda participação a ser excluída. Se a participação pertencer ao único administrador de um espaço, atribua outro usuário como administrador antes de excluir essa participação.
Escrever um script que chama a API Chat
Veja como excluir uma participação com autenticação de app:
Python
- No seu diretório de trabalho, crie um arquivo chamado
chat_membership_delete_app.py. Inclua o código a seguir em
chat_membership_delete_app.py:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then deletes the specified membership. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # 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().delete( # The membership to delete. # # 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. To delete a Chat app's membership, replace MEMBER # with app; an alias for the app calling the API. name='spaces/SPACE/members/MEMBER' ).execute() # Print Chat API's response in your command line interface. # When deleting a membership, the response body is empty. print(result) if __name__ == '__main__': main()No código, substitua o seguinte:
SPACE: um nome de espaço, que pode ser obtido no métodospaces.listna API Chat ou no URL de um espaço.MEMBER: um nome de participação, que pode ser obtido no métodospaces.members.listna API Chat. Para excluir a participação de um app, substituaMEMBERporapp.
No seu diretório de trabalho, crie e execute o exemplo:
python3 chat_membership_delete_app.py
Se for bem-sucedido, o corpo da resposta vai retornar a participação com
'state': 'NOT_A_MEMBER', indicando que o participante não está mais no espaço.
{
"name": "spaces/SPACE/members/MEMBER",
"state": "NOT_A_MEMBER"
}
Remover usuários ou Grupos do Google de um espaço como administrador do Google Workspace
Se você for um administrador do Google Workspace, poderá chamar o método DeleteMembership() para remover usuários, Grupos do Google ou apps do Chat de qualquer espaço na sua organização do Google Workspace.
Para chamar esse método como administrador do Google Workspace, faça o seguinte:
- Chame o método usando a autenticação do usuário e especifique um escopo de autorização que ofereça suporte à chamada do método usando privilégios de administrador.
- Na sua solicitação, especifique o parâmetro de consulta
useAdminAccesscomotrue.
Para mais informações e exemplos, consulte Gerenciar espaços do Google Chat como administrador do Google Workspace.
Limitações e considerações
- Com a autenticação de app, um app do Chat pode remover usuários, mas não Grupos do Google ou apps do Chat.
Temas relacionados
- Receber detalhes sobre a participação de um usuário ou app do Chat.
- Listar participantes em um espaço.
- Atualizar a participação de um usuário em um espaço do Google Chat.
- Convidar ou adicionar um usuário ou app do Chat a um espaço.