Mendapatkan detail tentang pesan

Panduan ini menjelaskan cara menggunakan metode get() pada resource Message Google Chat API untuk menampilkan detail tentang pesan teks atau kartu.

Di Chat API, pesan Chat direpresentasikan oleh resource Message. Meskipun pengguna Chat hanya dapat mengirim pesan yang berisi teks, aplikasi Chat dapat menggunakan banyak fitur pesan lainnya, termasuk menampilkan antarmuka pengguna statis atau interaktif, mengumpulkan informasi dari pengguna, dan mengirimkan pesan secara pribadi. Untuk mempelajari lebih lanjut fitur pesan yang tersedia untuk Chat API, lihat ringkasan pesan Google Chat.

Prasyarat

Node.js

Python

Java

Apps Script

Mendapatkan pesan dengan autentikasi pengguna

Untuk mendapatkan detail tentang pesan dengan autentikasi pengguna, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.messages.readonly atau chat.messages.
  • Panggil metode GetMessage().
  • Tetapkan name ke nama resource pesan yang akan didapatkan.

Contoh berikut mendapatkan pesan dengan autentikasi pengguna:

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);
}

Untuk menjalankan contoh ini, ganti hal berikut:

  • SPACE_NAME: ID dari name ruang. Anda dapat memperoleh ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MESSAGE_NAME: ID dari name pesan. Anda bisa mendapatkan ID dari isi respons yang ditampilkan setelah membuat pesan secara asinkron dengan Chat API, atau dengan nama kustom yang ditetapkan ke pesan saat pembuatan.

Chat API menampilkan instance Message yang menjelaskan pesan yang ditentukan.

Mendapatkan pesan dengan autentikasi aplikasi

Untuk mendapatkan detail tentang pesan dengan autentikasi aplikasi, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.bot.
  • Panggil metode GetMessage().
  • Tetapkan name ke nama resource pesan yang akan didapatkan.

Contoh berikut mendapatkan pesan dengan autentikasi aplikasi:

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);
}

Untuk menjalankan contoh ini, ganti hal berikut:

  • SPACE_NAME: ID dari name ruang. Anda bisa mendapatkan ID dengan memanggil metode ListSpaces() atau dari URL ruang.
  • MESSAGE_NAME: ID dari name pesan. Anda bisa mendapatkan ID dari isi respons yang ditampilkan setelah membuat pesan secara asinkron dengan Chat API, atau dengan nama kustom yang ditetapkan ke pesan saat pembuatan.

Chat API menampilkan instance Message yang menjelaskan pesan yang ditentukan.