Obtenir les détails d'un message

Ce guide explique comment utiliser la méthode get() sur la ressource Message de l'API Google Chat pour renvoyer des informations sur un message de texte ou de fiche.

Dans l'API Chat, un message Chat est représenté par la ressource Message. Alors que les utilisateurs de Chat ne peuvent envoyer que des messages contenant du texte, les applications Chat peuvent utiliser de nombreuses autres fonctionnalités de messagerie, y compris l'affichage d'interfaces utilisateur statiques ou interactives, la collecte d'informations auprès des utilisateurs et la diffusion de messages privés. Pour en savoir plus sur les fonctionnalités de messagerie disponibles pour l'API Chat, consultez la présentation des messages Google Chat.

Prérequis

Node.js

Python

Java

Apps Script

Recevoir un message avec authentification de l'utilisateur

Pour obtenir des informations sur un message avec authentification de l'utilisateur, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application d'autorisation chat.messages.readonly ou chat.messages.
  • Appelez la méthode GetMessage().
  • Définissez name sur le nom de ressource du message à obtenir.

L'exemple suivant reçoit un message avec une authentification de l'utilisateur:

Node.js

chat/client-libraries/cloud/get-message-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

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

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

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and MESSAGE_NAME here
    name: 'spaces/SPACE_NAME/messages/MESSAGE_NAME'
  };

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

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

main().catch(console.error);

Python

chat/client-libraries/cloud/get_message_user_cred.py
from authentication_utils import create_client_with_user_credentials
import google.oauth2.credentials

from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.messages.readonly"]

# This sample shows how to get message with user credential
def get_message_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.GetMessageRequest(
        # Replace SPACE_NAME and MESSAGE_NAME here
        name = "spaces/SPACE_NAME/messages/MESSAGE_NAME",
    )

    # Make the request
    response = client.get_message(request)

    # Handle the response
    print(response)

get_message_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/GetMessageUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetMessageRequest;
import com.google.chat.v1.Message;

// This sample shows how to get message with user credential.
public class GetMessageUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.messages.readonly";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      GetMessageRequest.Builder request = GetMessageRequest.newBuilder()
        // replace SPACE_NAME and MESSAGE_NAME here
        .setName("spaces/SPACE_NAME/members/MESSAGE_NAME");
      Message response = chatServiceClient.getMessage(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to get message with user credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.messages.readonly'
 * referenced in the manifest file (appsscript.json).
 */
function getMessageUserCred() {
  // Initialize request argument(s)
  // TODO(developer): Replace SPACE_NAME and MESSAGE_NAME here
  const name = 'spaces/SPACE_NAME/messages/MESSAGE_NAME';

  // Make the request
  const response = Chat.Spaces.Messages.get(name);

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

Pour exécuter cet exemple, remplacez les éléments suivants:

  • SPACE_NAME: ID de l'name de l'espace. Vous pouvez obtenir l'ID en appelant la méthode ListSpaces() ou à partir de l'URL de l'espace.
  • MESSAGE_NAME: ID de l'name du message. Vous pouvez obtenir l'ID à partir du corps de la réponse renvoyé après avoir créé un message de manière asynchrone avec l'API Chat, ou avec le nom personnalisé attribué au message lors de sa création.

L'API Chat renvoie une instance de Message qui détaille le message spécifié.

Recevoir un message avec authentification de l'application

Pour obtenir plus d'informations sur un message avec authentification de l'application, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application de l'autorisation chat.bot.
  • Appelez la méthode GetMessage().
  • Définissez name sur le nom de ressource du message à obtenir.

L'exemple suivant obtient un message avec une authentification de l'application:

Node.js

chat/client-libraries/cloud/get-message-app-cred.js
import {createClientWithAppCredentials} from './authentication-utils.js';

// This sample shows how to get message with app credential
async function main() {
  // Create a client
  const chatClient = createClientWithAppCredentials();

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and MESSAGE_NAME here
    name: 'spaces/SPACE_NAME/messages/MESSAGE_NAME'
  };

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

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

main().catch(console.error);

Python

chat/client-libraries/cloud/get_message_app_cred.py
from authentication_utils import create_client_with_app_credentials
from google.apps import chat_v1 as google_chat

# This sample shows how to get message with app credential
def get_message_with_app_cred():
    # Create a client
    client = create_client_with_app_credentials()

    # Initialize request argument(s)
    request = google_chat.GetMessageRequest(
        # Replace SPACE_NAME and MESSAGE_NAME here
        name = 'spaces/SPACE_NAME/messages/MESSAGE_NAME',
    )

    # Make the request
    response = client.get_message(request=request)

    # Handle the response
    print(response)

get_message_with_app_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/GetMessageAppCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.GetMessageRequest;
import com.google.chat.v1.Message;

// This sample shows how to get message with app credential.
public class GetMessageAppCred {

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithAppCredentials()) {
      GetMessageRequest.Builder request = GetMessageRequest.newBuilder()
        // replace SPACE_NAME and MESSAGE_NAME here
        .setName("spaces/SPACE_NAME/members/MESSAGE_NAME");
      Message response = chatServiceClient.getMessage(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to get message with app credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.bot'
 * used by service accounts.
 */
function getMessageAppCred() {
  // Initialize request argument(s)
  // TODO(developer): Replace SPACE_NAME and MESSAGE_NAME here
  const name = 'spaces/SPACE_NAME/messages/MESSAGE_NAME';
  const parameters = {};

  // Make the request
  const response = Chat.Spaces.Messages.get(name, parameters, getHeaderWithAppCredentials());

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

Pour exécuter cet exemple, remplacez les éléments suivants:

  • SPACE_NAME: ID de l'élément name de l'espace. Vous pouvez obtenir l'ID en appelant la méthode ListSpaces() ou à partir de l'URL de l'espace.
  • MESSAGE_NAME: ID de l'élément name du message. Vous pouvez obtenir l'ID à partir du corps de la réponse renvoyé après avoir créé un message de manière asynchrone avec l'API Chat ou avec le nom personnalisé attribué au message lors de sa création.

L'API Chat renvoie une instance de Message qui détaille le message spécifié.