Esta página explica como os apps e desenvolvedores do Google Chat podem identificar e especificar usuários do Chat.
Para fazer qualquer uma das ações a seguir, um app do Chat ou um desenvolvedor precisa especificar um usuário:
- Crie uma mensagem que @ mencione um usuário.
- Convide ou adicione um usuário a um espaço atual, ou adicione um usuário a um novo espaço.
- Encontre mensagens diretas entre o app Chat e um usuário específico ou entre dois usuários.
- Receber os detalhes da assinatura de um usuário em um espaço.
- Enviar uma mensagem particular para um usuário.
- Inscreva-se em um usuário usando a API Google Workspace Events para receber eventos sobre as mudanças na assinatura dele.
Como o Chat identifica usuários
A API Google Chat gera um
recurso User
para cada pessoa e app que usa o Chat. Um recurso User contém os seguintes campos:
name: o nome do recurso, formatado comousers/{user}, em que{user}representa um identificador exclusivo e estável. Você pode usarusers/appcomo um alias para o app de chat que está fazendo a chamada.displayName: somente saída. O nome de exibição do usuário.avatarUrl: somente saída. O URL da imagem do avatar do usuário.email: somente saída. O endereço de e-mail do usuário.domainId: identificador exclusivo do domínio do Google Workspace do usuário.type: o tipo de usuário. Isso indica se o usuário é um app de chat (BOT) ou uma pessoa (HUMAN).isAnonymous: somente saída. Quandotrue, indica que o usuário foi excluído ou que o perfil dele não está visível.
Detalhes do perfil do usuário e regras de visibilidade
Ao chamar as APIs Messages e Memberships usando a
autenticação do usuário,
a API Google Chat preenche o recurso User com detalhes do perfil.
A API preenche displayName, email e avatarUrl para usuários internos (na sua organização do Google Workspace) e externos (em organizações externas ou Contas do Google pessoais).
Exemplos de locais em que a API preenche perfis de usuários:
- O
senderde umMessage. - Usuários na mensagem
annotations, como o usuário@mentions. - O
memberem um recursoMembership.
Regras de privacidade e visibilidade
Para proteger a privacidade do usuário, a API Google Chat aplica regras de visibilidade específicas ao determinar se os detalhes do perfil de um usuário devem ser preenchidos:
- Perfil preenchido: a API preenche os detalhes do perfil (
displayName,emaileavatarUrlestão presentes, eisAnonymouséfalse) se o usuário aceitou um convite para um espaço (é membro dele) ou tem uma afinidade anterior (como um histórico de interações por mensagem direta) com o usuário que fez a chamada. - Perfil anônimo: se um usuário for mencionado em um espaço sem ser membro e sem afinidade prévia com o usuário que fez a chamada, o perfil dele vai permanecer anônimo. Para um usuário anônimo,
isAnonymousétrue, e detalhes comodisplayName,emaileavatarUrlsão omitidos. No entanto, para solicitações de API feitas com autenticação de app, o campodisplayNamesempre é preenchido.
O exemplo JSON a seguir mostra um recurso User com detalhes de perfil preenchidos retornados em uma resposta da API ou um evento de interação:
{
"name": "users/12345678901234567890",
"displayName": "Sasha",
"domainId": "123abc",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com",
"type": "HUMAN",
"isAnonymous": false
}
O exemplo de JSON a seguir mostra um recurso User anônimo em que os detalhes do perfil do usuário não estão visíveis para o autor da chamada:
{
"name": "users/10987654321098765432",
"type": "HUMAN",
"isAnonymous": true
}
Especificar um usuário em uma chamada para a API Google Chat
Para especificar um usuário, use os seguintes valores para o valor {user}:
Para usuários na sua organização do Google Workspace, use uma das seguintes abordagens:
- O
namedo recursoUserna API Chat, comousers/123456789. - O
{person_id}para o nome de umPersonrecurso na API People, em que oresourceNameépeople/{person_id}. Por exemplo,users/123456789na API Chat representa a mesma pessoa quepeople/123456789na API People. - O
idde um recursoUserna API Directory. Por exemplo,users/123456789na API Chat representa a mesma pessoa queusers/123456789na API Directory. - Para solicitações de API feitas com
autenticação de usuário,
o endereço de e-mail do usuário como um alias, por exemplo,
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com.
- O
Para um usuário em uma organização externa do Google Workspace ou que usa uma Conta do Google, use uma das seguintes opções:
- Um alias de e-mail, por exemplo,
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.comouusers/EMAIL_USERNAME@gmail.com. - O
namecanônico do recursoUser(comousers/12345678901234567890) obtido de uma chamada de API ou evento de interação anterior.
- Um alias de e-mail, por exemplo,
Identificar um usuário em uma resposta da API ou um evento de interação
É possível identificar usuários retornados de chamadas de API ou eventos recebidos de várias maneiras:
- API Messages: extraia a identidade do remetente de
Message.senderou os usuários mencionados deMessage.annotations[].userMention.user. - API Memberships: extraia a identidade do membro de
Membership.member. - Eventos de interação: quando um usuário interage com um
app de chat, o Chat envia um
evento de interação com a
identidade do usuário em
Event.user.
Como a API Google Chat preenche perfis de usuários internos e externos ao usar a autenticação de usuários, os desenvolvedores não precisam chamar a API Directory para resolver nomes ou e-mails de membros e remetentes de mensagens.
Temas relacionados
- Autenticar e autorizar como usuário do Google Chat.
- Adicionar um usuário a um espaço.
- Gerenciar participantes em um espaço.
- Mencionar um usuário em uma mensagem.
- Referência da API REST do recurso
User.