Mesajı silme

Bu kılavuzda, bir metin veya kart mesajını silmek için Google Chat API'nin Message kaynağındaki delete() yönteminin nasıl kullanılacağı açıklanmaktadır.

Chat API'de Chat mesajları Message kaynağı ile temsil edilir. Chat kullanıcıları yalnızca metin içeren mesajlar gönderebilirken Chat uygulamaları statik veya etkileşimli kullanıcı arayüzleri gösterme, kullanıcılardan bilgi toplama ve mesajları gizli olarak yayınlama gibi birçok mesajlaşma özelliğini kullanabilir. Chat API'de kullanılabilen mesajlaşma özellikleri hakkında daha fazla bilgi edinmek için Google Chat mesajlarına genel bakış başlıklı makaleyi inceleyin.

Uygulama kimlik doğrulaması ile Chat uygulamasının gönderdiği bir mesajı silmek için bu yöntemi kullanabilirsiniz. Kullanıcı kimlik doğrulaması ile, kimliği doğrulanmış kullanıcının gönderdiği bir iletiyi silmek için bu yöntemi kullanabilirsiniz. Kullanıcı, alanın alan yöneticisiyse diğer alan üyelerinin gönderdiği mesajları da silebilirsiniz. Daha fazla bilgi için Alan yöneticisi rolünüz hakkında bilgi edinme başlıklı makaleyi inceleyin.

Ön koşullar

Node.js

Python

Java

Apps Komut Dosyası

Kullanıcı kimlik doğrulamasıyla bir iletiyi silme

Kullanıcı kimlik doğrulaması içeren bir mesajı silmek için isteğinizde aşağıdakileri iletin:

  • chat.messages yetkilendirme kapsamını belirtin.
  • DeleteMessage() yöntemini çağırın.
  • name değerini, silinecek mesajın kaynak adı olarak ayarlayın.

Aşağıdaki örnekte, kullanıcı kimlik doğrulaması içeren bir ileti silinmektedir:

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 Komut Dosyası

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

Bu örneği çalıştırmak için aşağıdakileri değiştirin:

  • SPACE_NAME: Alanın name kimliği. Kimliği, ListSpaces() metodunu çağırarak veya alanın URL'sinden alabilirsiniz.
  • MESSAGE_NAME: İletinin name bölümündeki kimlik. Kimliği, Chat API ile mesaj oluşturduktan sonra döndürülen yanıt gövdesinden veya mesaj oluşturulurken mesaja atanan özel addan elde edebilirsiniz.

İşlem başarılı olursa yanıt gövdesi boş olur. Bu, mesajın silindiğini gösterir.

Uygulama kimlik doğrulaması içeren bir mesajı silme

Uygulama kimlik doğrulaması içeren bir mesajı silmek için isteğinizde aşağıdakileri iletin:

  • chat.bot yetkilendirme kapsamını belirtin.
  • DeleteMessage() yöntemini çağırın.
  • name değerini, silinecek mesajın kaynak adı olarak ayarlayın.

Aşağıdaki örnekte, uygulama kimlik doğrulaması içeren bir mesaj silinmektedir:

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 Komut Dosyası

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

Bu örneği çalıştırmak için aşağıdakileri değiştirin:

  • SPACE_NAME: Alanın name kimliği. Kimliği, ListSpaces() metodunu çağırarak veya alanın URL'sinden alabilirsiniz.
  • MESSAGE_NAME: İletinin name kimliği. Kimliği, Chat API ile mesaj oluşturduktan sonra döndürülen yanıt gövdesinden veya mesaj oluşturulurken mesaja atanan özel addan elde edebilirsiniz.

İşlem başarılı olursa yanıt metni boş olur. Bu, mesajın silindiğini gösterir.