Encontrar um espaço de mensagem direta

Este guia explica como usar o método findDirectMessage() no recurso Space da API Google Chat para receber detalhes sobre um espaço de mensagem direta (MD).

O recurso Space representa um lugar onde pessoas e apps do Chat podem enviar mensagens, compartilhar arquivos e colaborar. Há vários tipos de espaços:

  • As mensagens diretas (DMs) são conversas entre dois usuários ou entre um usuário e um app do Chat.
  • Os chats em grupo são conversas entre três ou mais usuários e apps de chat.
  • Os espaços nomeados são lugares permanentes onde as pessoas enviam mensagens, compartilham arquivos e colaboram.

Quando um administrador do Google Workspace instala um app de chat para toda a organização do Google Workspace, o Google Chat cria uma mensagem direta entre o app de chat instalado e cada usuário da organização.

A autenticação com autenticação de app permite que um app do Chat receba mensagens diretas a que ele tem acesso no Google Chat (por exemplo, mensagens diretas de que ele é membro). A autenticação com autenticação de usuário retorna mensagens diretas a que o usuário autenticado tem acesso.

Pré-requisitos

Node.js

Encontrar uma mensagem direta

Para encontrar uma mensagem direta no Google Chat, transmita o seguinte na solicitação:

  • Com a autenticação de app, especifique o escopo de autorização chat.bot. Com a autenticação do usuário, especifique o escopo de autorização chat.spaces.readonly ou chat.spaces.
  • Chame o método FindDirectMessage() transmitindo o name do outro usuário na mensagem direta para retornar. Com a autenticação de usuário, esse método retorna uma mensagem direta entre o usuário que faz a chamada e o usuário especificado. Com a autenticação do app, esse método retorna uma mensagem direta entre o app de chamada e o usuário especificado.
  • Para adicionar um usuário humano como membro de um espaço, especifique users/{user}, em que {user} é o {person_id} do person da API People ou o ID de um user na API Directory. Por exemplo, se a pessoa resourceName da API People for people/123456789, adicione o usuário ao espaço incluindo uma associação com users/123456789 como member.name.

Encontrar uma mensagem direta com autenticação de usuário

Saiba como encontrar uma mensagem direta com autenticação do usuário:

Node.js

chat/client-libraries/cloud/find-dm-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly'];

// This sample shows how to find a Direct Message space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace USER_NAME here
    name: 'users/USER_NAME'
  };

  // Make the request
  const response = await chatClient.findDirectMessage(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Para executar essa amostra, substitua USER_NAME pelo ID do campo name do usuário.

A API Chat retorna uma instância de Space que detalha a mensagem direta especificada.

Encontrar uma mensagem direta com autenticação do app

Veja como encontrar uma mensagem direta com autenticação do app:

Node.js

chat/client-libraries/cloud/find-dm-space-app-cred.js
import {createClientWithAppCredentials} from './authentication-utils.js';

// This sample shows how to find a Direct Message space with app credential
async function main() {
  // Create a client
  const chatClient = createClientWithAppCredentials();

  // Initialize request argument(s)
  const request = {
    // Replace USER_NAME here
    name: 'users/USER_NAME'
  };

  // Make the request
  const response = await chatClient.findDirectMessage(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Para executar essa amostra, substitua USER_NAME pelo ID do campo name do usuário.

A API Chat retorna uma instância de Space que detalha a mensagem direta especificada.