Este guia explica como usar o método
update()
no recurso Membership
da API Google Chat para mudar atributos
sobre uma associação, como mudar um participante de espaço para um administrador de espaço ou mudar
um administrador de espaço para um participante de espaço.
Se você for um administrador do Google Workspace, poderá chamar o método update()
para atualizar a associação de qualquer espaço na sua organização do Google Workspace.
O
recurso Membership
representa se um usuário humano ou o app do Google Chat foi convidado para um espaço,
faz parte dele ou está ausente.
Pré-requisitos
Node.js
- Uma conta do Google Workspace para empresas ou empresas com acesso ao 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 na forma como você quer se autenticar na solicitação da API Google Chat:
- Para autenticar como um usuário do Chat, faça o seguinte:
criar ID do cliente OAuth
credentials e salve-as como um arquivo JSON chamado
client_secrets.json
ao diretório local. - Para fazer a autenticação como o app de chat,
crie credenciais da conta de serviço e salve-as como um arquivo JSON chamado
credentials.json
.
- Para autenticar como um usuário do Chat, faça o seguinte:
criar ID do cliente OAuth
credentials 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 assinatura de espaço, transmita o seguinte na sua solicitação:
- Especifique um escopo de autorização:
- Com a autenticação de usuários,
especificar o escopo de autorização
chat.memberships
. - Com a
autenticação de apps
(disponível na Pré-visualização para desenvolvedores),
especifique o escopo de autorização
chat.app.memberships
. Ao atualizar um 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 de usuários,
especificar 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 de espaço e um ID de participante. - Os campos de associação a serem atualizados foram definidos com os novos valores.
- O campo
- Transmita
updateMask
para especificar os aspectos da assinatura a ser atualizada. inclui o seguinte:role
: 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 administrador de espaço. O usuário tem todas as permissões básicas, mais permissões administrativas para gerenciar o espaço, como adicionar ou e remover membros. Disponível apenas em espaços em quespaceType
éSPACE
(espaços nomeados).
Tornar alguém administrador do espaço
O exemplo a seguir chama a API Chat usando
autenticação de usuários
para transformar um participante normal do espaço em administrador, especificando role
como
ROLE_MANAGER
:
Node.js
Para executar a amostra, 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 da assinaturaname
. É possível receber o ID chamando o métodoListMemberships()
ou no corpo da resposta retornado após a criação de uma associação de forma assíncrona com a API Chat.ROLE_NAME
: o papel atualizado,ROLE_MANAGER
.
A API Google Chat atualiza a associação especificada a um administrador do espaço e retorna
uma instância de
Membership
.
Tornar alguém administrador do espaço
O exemplo a seguir chama a API Chat usando a
autenticação do usuário
para tornar um administrador do espaço um participante comum, especificando role
como
ROLE_MEMBER
:
Node.js
Para executar a amostra, substitua o seguinte:
SPACE_NAME
: o ID do espaço.name
. Para conseguir o ID, chame o métodoListSpaces()
ou o URL do espaço.MEMBER_NAME
: o ID da assinaturaname
. É possível receber o ID chamando o métodoListMemberships()
ou no corpo da resposta retornado após a criação de uma associação de forma assíncrona com a API Chat.ROLE_NAME
: o papel atualizado,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 regular do espaço um administrador do espaço como um app do Chat
A autenticação do app exige uma única vez aprovação do administrador.
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 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 será exibida.
- 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 nas "chaves de API" das credenciais do seu 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
O exemplo a seguir chama a API Chat usando a
autenticação do app
para tornar um membro do espaço 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, 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().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:
API_KEY
: a chave de API criada 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.MEMBERSHIP
: um nome de assinatura, que que você pode conseguir na Métodospaces.members.list
na API Chat.
No diretório de trabalho, crie e execute o exemplo:
python3 chat_membership_update_to_manager_app.py
Tornar um administrador do espaço um participante normal como um app do Chat
A autenticação do app exige uma única vez aprovação do administrador.
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 app e faça o seguinte:
- No console do Google Cloud, acesse 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 nas "chaves de API" das credenciais do seu projeto.
- Clique em Restringir chave para atualizar as configurações avançadas e limitar o uso da chave de API. Para mais detalhes, consulte Como aplicar restrições de chave de API.
Escrever um script que chame a API Chat
O exemplo a seguir chama a API Chat usando
autenticação de apps
para tornar o administrador um participante normal, especificando role
como
ROLE_MEMBER
no body
que especifica 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, 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().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:
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 que você pode conseguir na Métodospaces.list
na API Chat ou pelo URL de um espaço.MEMBERSHIP
: um nome de associação, que pode ser encontrado no métodospaces.members.list
na API Chat.
No diretório de trabalho, crie e execute o exemplo:
python3 chat_membership_update_to_member_app.py
Atualizar assinaturas como administrador do Google Workspace
Se você for um administrador do Google Workspace, poderá chamar o update()
método para atualizar as associações de qualquer espaço no seu 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
- Convidar ou adicionar um usuário ou um app do Google Chat a um espaço.
- Conferir detalhes sobre a assinatura de um usuário ou app de chat.
- Listar os participantes de um espaço.
- Remover um usuário ou app do Chat de um espaço.