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

این راهنما نحوه استفاده از روش delete() را در منبع Message در Google Chat API برای حذف پیام متنی یا کارتی توضیح می دهد.

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

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

پیش نیازها

Node.js

پایتون

جاوا

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

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

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

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

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

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

پایتون

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 به نام منبع پیام برای حذف تنظیم کنید.

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

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

پایتون

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 یا با نام سفارشی اختصاص داده شده به پیام در هنگام ایجاد، بازگردانده شده است، دریافت کنید.

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