Neste guia, explicamos como usar o método
create()
no recurso Membership
da API Google Chat para convidar ou adicionar um usuário,
grupo do Google ou app Chat a um espaço, também conhecido como
criação de uma assinatura. 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á aceitá-lo
antes de entrar no espaço. Caso contrário, a criação de uma assinatura adiciona o
membro diretamente ao espaço especificado.
Se você é um administrador do Google Workspace, pode 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 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, í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 na forma como você quer se autenticar na solicitação da API Google Chat:
- 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, crie credenciais da 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 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.
Python
- 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, ícone e descrição para seu app do Chat.
- Instale a biblioteca de cliente do Cloud para Python.
- Crie credenciais de acesso com base na forma como você quer se autenticar na solicitação da API Google Chat:
- 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, crie credenciais da 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 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.
Java
- 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, ícone e descrição para seu app do Chat.
- Instale a biblioteca de cliente do Cloud (em inglês) para Java.
- Crie credenciais de acesso com base na forma como você quer se autenticar na solicitação da API Google Chat:
- 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 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 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.
Apps Script
- Uma conta empresarial ou corporativa do Google Workspace 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, ícone e 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 do usuário ou do app. Para fazer a autenticação como o app de chat, crie credenciais de conta de serviço. Para conferir 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 como usuário a um espaço
Para convidar ou adicionar um usuário a um espaço com autenticação de usuário, transmita o seguinte na 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 associação será criada. - Transmita
membership
como uma instância deMembership
com o campomember
definido da seguinte maneira:- 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 a API People
person
resourceName
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 uma organização do Google Workspace diferente, use o endereço de e-mail dele.
- O ID da
pessoa
na API People. Por exemplo, se a API People
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. Para conseguir o ID, chame o métodoListSpaces()
ou o 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 que foi 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 do usuário (a autenticação de app não oferece suporte a esse recurso), 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 associação 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 a associação. O ID do grupo pode ser recuperado usando a API Cloud Identity.
Os Grupos do Google não podem ser adicionados a uma conversa em grupo ou mensagem direta, apenas a um espaço com nome.
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. Para conseguir o ID, chame o métodoListSpaces()
ou o 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 que foi criada.
Adicionar um app de chat a um espaço
Um app de chat não pode adicionar outro app como participante de um espaço. Para adicionar um app do Chat a um espaço ou a uma mensagem direta entre dois usuários humanos, transmita o seguinte na sua solicitação com a autenticação do usuário. A autenticação de app não oferece suporte para 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 associação 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 o exemplo, substitua SPACE_NAME
pelo ID do
name
do espaço.
Para conseguir o ID, chame o método
ListSpaces()
ou o URL do espaço.
A API Chat retorna uma instância de
Membership
que detalha a associação do usuário que foi criada.
Convidar ou adicionar um usuário a um espaço como um app do Chat
A autenticação de apps requer uma aprovação única do administrador.
Para convidar ou adicionar um usuário a um espaço com autenticação de apps, transmita o seguinte na 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 a associação, e é:- O ID da
pessoa
na API People. Por exemplo, se a API People
person
resourceName
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 a API People
person
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, você precisa 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 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 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.
Programar um script que chame a API Chat
O exemplo a seguir adiciona um usuário a um espaço com autenticação de 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, 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().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:
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.USER
: um ID de usuário.
No diretório de trabalho, crie e execute o exemplo:
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
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 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 apps,
um app de chat pode convidar ou adicionar usuários, mas não
grupos do Google ou apps de chat. Para se adicionar, um
app do Chat precisa usar a
autenticação do usuário
com o escopo de autorização
chat.memberships
.
Temas relacionados
- Veja detalhes sobre a assinatura de um usuário ou de um app do Chat.
- Listar os participantes de 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.