Este guia explica como usar o
delete()
método no recurso Membership
da API Google Chat para remover membros de uma
o que também é conhecido como exclusão de uma associação. Os administradores não podem ser removidos se
forem os únicos administradores de um espaço. Atribua outro usuário como administrador do espaço
antes de remover essas assinaturas.
Se você for 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;
ausente ou faz parte de um espaço.
Pré-requisitos
Node.js
- Uma empresa Conta do Google Workspace com acesso a Google Chat.
- Configure o ambiente:
- Crie um projeto do Google Cloud.
- Configure a tela de consentimento OAuth.
- Ative e configure a API Google Chat com um nome. o ícone e a descrição do app do Chat.
- Instale a biblioteca de cliente do Cloud para Node.js.
- Crie credenciais de acesso com base em como você quer autenticar na API Google Chat
solicitação:
- Para fazer a autenticação como um usuário do Chat,
crie credenciais de ID do cliente do OAuth e salve-as como um arquivo JSON chamado
client_secrets.json
no seu diretório local. - Para autenticar como o app do Chat, faça o seguinte:
criar conta de serviço
credentials 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 do OAuth e salve-as como um arquivo JSON chamado
- Escolha um escopo de autorização com base em se você quer autenticar como um usuário ou o app Chat.
- Um espaço do Google Chat. Para criar um grupo usando a API Google Chat, consulte Criar um espaço. Para criar uma 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, grupo do Google ou app Chat de um espaço com autenticação do usuário, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.memberships
. O usuário autorizado 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 os próprios associação própria; e não o de outros apps). Como prática recomendada, escolha o escopo mais restritivo que ainda permite que o app funcione. - Chame o método
DeleteMembership()
. - Transmita o
name
da assinatura a ser excluída. Se a assinatura pertencer ao só admin do espaço. Antes de prosseguir, atribua outro usuário como administrador está excluindo essa assinatura.
Veja como excluir uma assinatura com autenticação do usuário:
Node.js
Para executar este exemplo, substitua o seguinte:
SPACE_NAME
: o ID doname
do espaço. Para conseguir o ID, chame o métodoListSpaces()
ou o URL do espaço.MEMBER_NAME
: o ID do membro.name
. Você pode obter o ID chamando oListMemberships()
.
Se bem-sucedido, o corpo da resposta retornará a associaçã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 do app exige uma única aprovação do administrador.
Para remover um usuário, Grupo do Google ou app do Chat de uma espaço com autenticação do app, aprovação o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.app.memberships
. Só é possível excluir a associação de um administrador do espaço disponíveis nos espaços criados pelos apps do Chat. - Chame o método
delete
no recursomembership
. - Transmita o
name
da assinatura a ser excluída. Se a assinatura pertencer ao só admin do espaço. Antes de prosseguir, atribua outro usuário como administrador está excluindo essa assinatura.
Criar uma chave de API
Para chamar um método da prévia para desenvolvedores da API, use uma versão não pública da prévia para desenvolvedores do documento de descoberta da API. Para autenticar a solicitação, é necessário transmitir uma chave de API.
Para criar a chave de API, abra o projeto do Google Cloud do seu app e faça o seguinte:
- No console do Google Cloud, acesse o menu > APIs e Serviços > Credenciais.
- Clique em Criar credenciais > Chave de API.
- Sua nova chave de API vai aparecer.
- Clique em Copiar para copiar a chave de API e usá-la no código do app. A chave de API também pode ser encontrada na seção "Chaves de API" das credenciais do projeto.
- Clique em Restringir chave para atualizar as configurações avançadas e limitar o uso. da sua chave de API. Para mais detalhes, consulte Como aplicar restrições de chave de API.
Escrever um script que chame a API Chat
Veja como excluir uma assinatura com autenticação de apps:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_membership_delete_app.py
. Inclua o seguinte código 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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # 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:
API_KEY
: a chave de API que você criou para criar. o endpoint de serviço da API Chat.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 você pode usar do métodospaces.members.list
na API Chat. Para excluir a assinatura de um app, substituaMEMBER
comapp
.
No diretório de trabalho, crie e execute o exemplo:
python3 chat_membership_delete_app.py
Se bem-sucedido, o corpo da resposta retornará a associaçã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" }
Limitações e considerações
- Com a autenticação de apps, um app do Chat pode remover usuários, mas não os Grupos do Google.
Remover usuários ou Grupos do Google de um espaço como administrador do Google Workspace
Se você é um administrador do Google Workspace, pode chamar o
DeleteMembership()
para remover usuários, Grupos do Google ou
Apps do Chat em qualquer espaço no Google Workspace
organização.
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 da autorização que oferece suporte a chamar o método usando privilégios de administrador.
- Na solicitação, especifique o parâmetro de consulta
useAdminAccess
comotrue
.
Para mais informações e exemplos, consulte Gerenciar espaços do Google Chat como administrador do Google Workspace.
Temas relacionados
- Conferir detalhes sobre a assinatura de um usuário ou app de chat.
- Listar os participantes de um espaço
- Atualizar a associação de um usuário em um espaço do Google Chat
- Convidar ou adicionar um usuário ou um app do Chat a um espaço