Este guia explica como usar o método
create()
no recurso Membership
da API Google Chat para convidar ou adicionar um usuário,
um grupo do Google ou um app Chat a um espaço, também conhecido como
criar uma associação. Ao criar uma assinatura, se o membro especificado tiver a política de aceitação automática desativada, ele vai receber um convite e precisará aceitar o convite do espaço antes de participar. Caso contrário, a criação de uma assinatura adiciona o
membro diretamente ao espaço especificado.
Se você for administrador do Google Workspace, poderá adicionar usuários, grupos do Google ou apps do Chat a 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.
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 fazer a autenticação 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.
Python
- 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 Python.
- Crie credenciais de acesso com base na forma como você quer fazer a autenticação 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.
Java
- 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 para Java.
- Crie credenciais de acesso com base na forma como você quer fazer a autenticação 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.
Apps Script
- 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.
- Crie um projeto independente do Apps Script e ative o Serviço avançado de chat.
- Neste guia, você precisa usar a autenticação de usuário ou de app. Para autenticar como o app Chat, crie credenciais de conta de serviço. Para ver as etapas, consulte Autenticar e autorizar como um app do Google Chat.
- Escolha um escopo de autorização com base em se você quer autenticar como um usuário ou o app Chat.
Convidar ou adicionar um usuário a um espaço como usuário
Para convidar ou adicionar um usuário a um espaço com autenticação de usuário, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.memberships
. - Chame o método
CreateMembership()
. - Transmita
parent
como o nome do recurso do espaço em que a assinatura será criada. - Transmita
membership
como uma instância deMembership
com o campomember
definido com o seguinte:- O campo
type
definido comoHUMAN
. - O campo
name
definido comousers/{user}
, em que{user}
é a pessoa que você quer adicionar ao espaço. Para especificar o usuário do Chat, substitua{user}
por uma das seguintes opções:- O ID da
pessoa
na API People. Por exemplo, se o
person
resourceName
da API People forpeople/123456789
, use o valorusers/123456789
. - O ID do usuário na API Directory.
- O endereço de e-mail do usuário. Por exemplo,
users/222larabrown@gmail.com
ouusers/larabrown@cymbalgroup.com
. Se o usuário usar uma Conta do Google ou pertencer a outra organização do Google Workspace, use o endereço de e-mail dele.
- O ID da
pessoa
na API People. Por exemplo, se o
person
- O campo
O exemplo a seguir adiciona um usuário a um espaço com autenticação de usuário:
Node.js
Python
Java
Apps Script
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.USER_NAME
: um ID de usuário.
A API Chat retorna uma instância de
Membership
que detalha a associação do usuário criada.
Convidar ou adicionar um grupo do Google a um espaço
Para convidar ou adicionar um Grupo do Google a um espaço com autenticação de usuário (a autenticação de app não permite convidar ou adicionar um Grupo do Google a um espaço), transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.memberships
. - Chame o método
CreateMembership()
. - Transmita
parent
como o nome do recurso do espaço em que a assinatura será criada. - Transmita
membership
como uma instância deMembership
com o camponame
degroupMember
definido comogroups/{group}
, em que{group}
é o ID do grupo para o qual você quer criar uma associação. O ID do grupo pode ser recuperado usando a API Cloud Identity.
Os grupos do Google não podem ser adicionados a um chat em grupo ou mensagem direta, apenas a um espaço nomeado.
O exemplo a seguir adiciona um grupo a um espaço nomeado com autenticação de usuário:
Node.js
Python
Java
Apps Script
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.GROUP_NAME
: um ID de grupo.
A API Chat retorna uma instância de
Membership
que detalha a associação do usuário criada.
Adicionar um app do Chat a um espaço
Um app do Chat não pode adicionar outro app como participante de um espaço. Para adicionar um app do Chat a um espaço ou uma mensagem direta entre dois usuários humanos, transmita o seguinte na sua solicitação com autenticação de usuário (a autenticação de app não permite convidar ou adicionar um app do Chat a um espaço):
- Especifique o escopo de autorização
chat.memberships.app
. - Chame o método
CreateMembership()
. - Transmita
parent
como o nome do recurso do espaço em que a assinatura será criada. - Transmita
membership
como uma instância deMembership
com o campomember
definido com o seguinte:- O campo
type
definido comoBOT
. - O campo
name
definido comousers/app
, um alias que representa o app que chama a API Chat.
- O campo
O exemplo a seguir adiciona um app do Chat a um espaço:
Node.js
Python
Java
Apps Script
Para executar a amostra, substitua SPACE_NAME
pelo ID do
name
do
espaço.
Você pode conseguir o ID chamando o método
ListSpaces()
ou no URL do espaço.
A API Chat retorna uma instância de
Membership
que detalha a associação do usuário criada.
Convidar ou adicionar um usuário a um espaço como um app do Chat
A autenticação do app exige uma única aprovação do administrador.
Para convidar ou adicionar um usuário a um espaço com autenticação de app, transmita o seguinte na sua solicitação:
- Especifique o escopo de autorização
chat.app.memberships
. - Chame o
método
create
no recursomembership
. - Defina
parent
como o nome do recurso do espaço em que a associação será criada. - Defina
member
comousers/{user}
, em que{user}
é a pessoa para quem você quer criar uma assinatura e é:- O ID da
pessoa
na API People. Por exemplo, se o
resourceName
person da API People forpeople/123456789
, definamembership.member.name
comousers/123456789
. - O ID do usuário na API Directory.
- O endereço de e-mail do usuário. Por exemplo,
users/222larabrown@gmail.com
ouusers/larabrown@cymbalgroup.com
. Se o usuário usa uma Conta do Google ou pertence a outra organização do Google Workspace, use o endereço de e-mail dele.
- O ID da
pessoa
na API People. Por exemplo, se o
Escrever um script que chama a API Chat
O exemplo a seguir adiciona um usuário a um espaço com autenticação do app:
Python
- No diretório de trabalho, crie um arquivo chamado
chat_membership_app_create.py
. Inclua o seguinte código em
chat_membership_app_create.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 adds a user to a Chat space by creating a 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().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created 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.USER
: um ID de usuário.
No diretório de trabalho, crie e execute a amostra:
python3 chat_membership_app_create.py
Adicionar usuários ou grupos do Google a um espaço como administrador do Google Workspace
Se você for um administrador do Google Workspace, poderá chamar o método create()
para adicionar usuários, grupos do Google ou apps do Chat a qualquer espaço na
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.
Limitações e considerações
- Com a autenticação de app, um app do Chat pode convidar ou adicionar usuários, mas não
o Google Grupos ou apps do Chat. Para se adicionar, um
app de chat precisa usar
autenticação de usuário
com o escopo de autorização
chat.memberships
.
Temas relacionados
- Receba detalhes sobre a assinatura de um usuário ou app do Chat.
- Listar participantes em um espaço.
- Atualizar a associação de um usuário a um espaço do Google Chat.
- Remover um usuário ou app do Chat de um espaço.