یک پیام را حذف کنید

این راهنما نحوه استفاده از متد delete() در منبع Message از API چت گوگل برای حذف یک پیام متنی یا کارتی را توضیح می‌دهد.

در API چت، یک پیام چت توسط منبع Message نمایش داده می‌شود. در حالی که کاربران چت فقط می‌توانند پیام‌هایی حاوی متن ارسال کنند، برنامه‌های چت می‌توانند از بسیاری از ویژگی‌های پیام‌رسانی دیگر، از جمله نمایش رابط‌های کاربری ایستا یا تعاملی، جمع‌آوری اطلاعات از کاربران و ارسال پیام‌ها به صورت خصوصی، استفاده کنند. برای کسب اطلاعات بیشتر در مورد ویژگی‌های پیام‌رسانی موجود برای API چت، به نمای کلی پیام‌های Google Chat مراجعه کنید.

با احراز هویت برنامه ، می‌توانید از این روش برای حذف پیامی که برنامه چت ارسال کرده است استفاده کنید. با احراز هویت کاربر ، می‌توانید از این روش برای حذف پیامی که کاربر احراز هویت شده ارسال کرده است استفاده کنید. اگر کاربر، مدیر فضای آن فضا باشد، ممکن است بتوانید پیامی را که سایر اعضای فضا ارسال کرده‌اند نیز حذف کنید. برای اطلاعات بیشتر، به «درباره نقش خود به عنوان مدیر فضا بیاموزید» مراجعه کنید.

پیش‌نیازها

نود جی اس

پایتون

جاوا

اسکریپت برنامه‌ها

حذف پیام با احراز هویت کاربر

برای حذف پیام با احراز هویت کاربر ، موارد زیر را در درخواست خود وارد کنید:

  • دامنه مجوز chat.messages را مشخص کنید.
  • متد DeleteMessage() را فراخوانی کنید.
  • name منبع پیامی که قرار است حذف شود را مشخص کنید.

مثال زیر پیامی را با احراز هویت کاربر حذف می‌کند:

نود جی اس

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

await main();

پایتون

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()

جاوا

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

اسکریپت برنامه‌ها

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

برای اجرای این نمونه، موارد زیر را جایگزین کنید:

  • SPACE_NAME : شناسه‌ای که از name فضا گرفته شده است. می‌توانید شناسه را با فراخوانی متد ListSpaces() یا از URL فضا به دست آورید.
  • MESSAGE_NAME : شناسه‌ی name پیام. می‌توانید شناسه را از بدنه‌ی پاسخی که پس از ایجاد پیام به صورت ناهمگام با Chat API برگردانده می‌شود، یا با نام سفارشی که در زمان ایجاد به پیام اختصاص داده شده است، دریافت کنید.

در صورت موفقیت، بدنه پاسخ خالی است که نشان می‌دهد پیام حذف شده است.

حذف پیام با احراز هویت برنامه

برای حذف پیام با احراز هویت برنامه ، موارد زیر را در درخواست خود ارسال کنید:

  • دامنه مجوز chat.bot را مشخص کنید.
  • متد DeleteMessage() را فراخوانی کنید.
  • name منبع پیامی که قرار است حذف شود را مشخص کنید.

مثال زیر یک پیام را با احراز هویت برنامه حذف می‌کند:

نود جی اس

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

await main();

پایتون

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()

جاوا

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

اسکریپت برنامه‌ها

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

برای اجرای این نمونه، موارد زیر را جایگزین کنید:

  • SPACE_NAME : شناسه‌ای که از name فضا گرفته شده است. می‌توانید شناسه را با فراخوانی متد ListSpaces() یا از URL فضا به دست آورید.
  • MESSAGE_NAME : شناسه‌ی name پیام. می‌توانید شناسه را از بدنه‌ی پاسخی که پس از ایجاد پیام به صورت ناهمگام با Chat API برگردانده می‌شود، یا با نام سفارشی که در زمان ایجاد به پیام اختصاص داده شده است، دریافت کنید.

در صورت موفقیت، بدنه پاسخ خالی است که نشان می‌دهد پیام حذف شده است.