Este guia explica como usar o método
update()
no recurso Membership
da API Google Chat para mudar atributos
de uma associação, como mudar um participante para administrador ou vice-versa.
Se você for admin do Google Workspace, poderá chamar o método update()
para atualizar a participação 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 para um espaço,
faz parte dele ou não está presente nele.
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, um ícone e uma descrição para seu app do Chat.
- Instale a biblioteca de cliente do Cloud do Node.js.
- Crie credenciais de acesso com base na forma como você quer se autenticar na solicitação da API Google Chat:
- Para autenticar como um usuário do Chat,
crie credenciais de ID do cliente OAuth e salve-as como um arquivo JSON chamado
credentials.json
no seu diretório local. - Para autenticar como o app Chat,
crie credenciais de
conta de serviço e salve-as como um arquivo JSON chamado
credentials.json
.
- Para autenticar 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 autenticar como um usuário ou o app Chat.
Atualizar uma assinatura
Para atualizar uma associação a um espaço, transmita o seguinte na sua solicitação:
- Especifique um escopo de autorização:
- Com a autenticação do usuário,
especifique o escopo de autorização
chat.memberships
. - Com a
autenticação de app,
especifique o escopo de autorização
chat.app.memberships
. Ao atualizar uma assinatura com autenticação de app, só é possível atualizar assinaturas em espaços criados por apps do Chat. A autenticação do app exige uma única aprovação do administrador.
- Com a autenticação do usuário,
especifique o escopo de autorização
- Chame o método
UpdateMembership()
. - Transmita
membership
como uma instância deMembership
com o seguinte:- O campo
name
definido como a assinatura a ser atualizada, que inclui um ID do espaço e um ID do participante. - Os campos de associação a serem atualizados definidos com os novos valores.
- O campo
- Transmita
updateMask
para especificar os aspectos da assinatura a serem atualizados, incluindo o seguinte:role
: a função do usuário em um espaço do Chat, que determina as ações permitidas no espaço. Os valores possíveis são:ROLE_MEMBER
: um membro do espaço. O usuário tem permissões básicas, como enviar mensagens para o espaço. Nas conversas individuais e em grupo sem nome, todos têm essa função.ROLE_MANAGER
: um admin do espaço. O usuário tem todas as permissões básicas, além de permissões administrativas que permitem gerenciar o espaço, como adicionar ou remover participantes. Disponível apenas em espaços em quespaceType
éSPACE
(espaços nomeados).
Tornar um participante comum administrador do espaço como usuário
O exemplo a seguir chama a API Chat usando a
autenticação do usuário
para transformar um membro comum em administrador do espaço especificando role
como
ROLE_MANAGER
:
Node.js
Para executar a amostra, substitua o seguinte:
SPACE_NAME
: o ID doname
do espaço. Você pode conseguir o ID chamando o métodoListSpaces()
ou no URL do espaço.MEMBER_NAME
: o ID doname
da assinatura. Você pode receber o ID chamando o métodoListMemberships()
ou no corpo da resposta retornado após criar uma assinatura de forma assíncrona com a API Chat.ROLE_NAME
: a função atualizada,ROLE_MANAGER
.
A API Google Chat atualiza a associação especificada para um administrador do espaço e retorna uma instância de Membership
.
Transformar um administrador do espaço em participante comum como usuário
O exemplo a seguir chama a API Chat usando a
autenticação de usuário
para transformar um administrador em membro comum de um espaço especificando role
como
ROLE_MEMBER
:
Node.js
Para executar a amostra, substitua o seguinte:
SPACE_NAME
: o ID doname
do espaço. Você pode conseguir o ID chamando o métodoListSpaces()
ou no URL do espaço.MEMBER_NAME
: o ID doname
da assinatura. Você pode receber o ID chamando o métodoListMemberships()
ou no corpo da resposta retornado após criar uma assinatura de forma assíncrona com a API Chat.ROLE_NAME
: a função atualizada,ROLE_MEMBER
.
A API Google Chat atualiza a associação especificada para um administrador do espaço e retorna uma instância de Membership
.
Tornar um membro comum administrador do espaço como um app do Chat
A autenticação do app exige uma única aprovação do administrador.
Escrever um script que chama a API Chat
O exemplo a seguir chama a API Chat usando a
autenticação do app
para transformar um membro comum em administrador do espaço especificando role
como
ROLE_MANAGER
no body
que especifica os atributos de associação atualizados:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_membership_update_to_manager_app.py
. Inclua o seguinte código em
chat_membership_update_to_manager_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 updates a specified space member to change it from a regular member to a space manager. ''' # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
No código, substitua o seguinte:
SPACE
: o nome de um espaço, que pode ser obtido com o métodospaces.list
na API Chat ou no URL de um espaço.MEMBERSHIP
: um nome de assinatura, que pode ser obtido com o métodospaces.members.list
na API Chat.
No diretório de trabalho, crie e execute a amostra:
python3 chat_membership_update_to_manager_app.py
Tornar um administrador do espaço um membro comum como um app do Chat
A autenticação do app exige uma única aprovação do administrador.
Escrever um script que chama a API Chat
O exemplo a seguir chama a API Chat usando a
autenticação de app
para transformar um administrador em membro comum de um espaço especificando role
como
ROLE_MEMBER
no body
que especifica os atributos de associação atualizados:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_membership_update_to_member_app.py
. Inclua o seguinte código em
chat_membership_update_to_member_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 via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
No código, substitua o seguinte:
SPACE
: o nome de um espaço, que pode ser obtido com o métodospaces.list
na API Chat ou no URL de um espaço.MEMBERSHIP
: um nome de assinatura, que pode ser obtido com o métodospaces.members.list
na API Chat.
No diretório de trabalho, crie e execute a amostra:
python3 chat_membership_update_to_member_app.py
Atualizar associações como administrador do Google Workspace
Se você for admin do Google Workspace, poderá chamar o método update()
para atualizar as associações 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 permita 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
- Convide ou adicione um usuário ou um app do Google Chat a um espaço.
- Receba detalhes sobre a assinatura de um usuário ou app do Chat.
- Listar participantes em um espaço.
- Remover um usuário ou app do Chat de um espaço.