Menghapus pesan

Panduan ini menjelaskan cara menggunakan metode delete() di resource Message Google Chat API untuk menghapus pesan teks atau kartu.

Di Chat API, pesan Chat diwakili 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 yang statis atau interaktif, mengumpulkan informasi dari pengguna, dan mengirim pesan secara pribadi. Untuk mempelajari fitur pesan yang tersedia untuk Chat API lebih lanjut, lihat ringkasan pesan Google Chat.

Dengan autentikasi aplikasi, Anda dapat menggunakan metode ini untuk menghapus pesan yang dikirim aplikasi Chat. Dengan autentikasi pengguna, Anda dapat menggunakan metode ini untuk menghapus pesan yang dikirim pengguna terautentikasi. Jika pengguna adalah pengelola ruang untuk ruang tersebut, Anda mungkin juga dapat menghapus pesan yang dikirim oleh anggota ruang lainnya. Untuk informasi selengkapnya, lihat Mempelajari peran Anda sebagai Pengelola Ruang.

Prasyarat

Node.js

Python

Java

Apps Script

Menghapus pesan dengan autentikasi pengguna

Untuk menghapus pesan dengan autentikasi pengguna, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.messages.
  • Panggil metode DeleteMessage().
  • Tetapkan name ke nama resource pesan yang akan dihapus.

Contoh berikut menghapus pesan dengan autentikasi pengguna:

Node.js

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

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

// This sample shows how to delete a 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.deleteMessage(request);

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

main().catch(console.error);

Python

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

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

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

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

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

    # Handle the response
    print(response)

delete_message_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/DeleteMessageUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.DeleteMessageRequest;
import com.google.chat.v1.SpaceName;

// This sample shows how to delete message with user credential.
public class DeleteMessageUserCred {

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

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

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to delete a message with user credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.messages'
 * referenced in the manifest file (appsscript.json).
 */
function deleteMessageUserCred() {
  // 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.remove(name);

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

Untuk menjalankan contoh ini, ganti kode 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 dapat memperoleh ID dari isi respons yang ditampilkan setelah membuat pesan secara asinkron dengan Chat API, atau dengan nama kustom yang ditetapkan ke pesan pada saat pembuatan.

Jika berhasil, isi respons akan kosong, yang menunjukkan bahwa pesan telah dihapus.

Menghapus pesan dengan autentikasi aplikasi

Untuk menghapus pesan dengan autentikasi aplikasi, teruskan hal berikut dalam permintaan Anda:

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

Contoh berikut menghapus pesan dengan autentikasi aplikasi:

Node.js

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

// This sample shows how to delete a 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.deleteMessage(request);

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

main().catch(console.error);

Python

chat/client-libraries/cloud/delete_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 delete a message with app credential
def delete_message_with_app_cred():
    # Create a client
    client = create_client_with_app_credentials()

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

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

    # Handle the response
    print(response)

delete_message_with_app_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/DeleteMessageAppCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.DeleteMessageRequest;

// This sample shows how to delete message with app credential.
public class DeleteMessageAppCred {

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithAppCredentials()) {
      DeleteMessageRequest.Builder request = DeleteMessageRequest.newBuilder()
        // replace SPACE_NAME and MESSAGE_NAME here
        .setName("spaces/SPACE_NAME/messages/MESSAGE_NAME");
      chatServiceClient.deleteMessage(request.build());
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to delete a message with app credential
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.bot'
 * used by service accounts.
 */
function deleteMessageAppCred() {
  // 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.remove(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 dapat memperoleh ID dari isi respons yang ditampilkan setelah membuat pesan secara asinkron dengan Chat API, atau dengan nama kustom yang ditetapkan ke pesan pada saat pembuatan.

Jika berhasil, isi respons akan kosong, yang menunjukkan bahwa pesan telah dihapus.