刪除留言

本指南說明如何針對以下項目的 Message 資源使用 delete 方法: 透過 Google Chat API 刪除簡訊或資訊卡訊息。

在 Chat API 中,Chat 訊息會以 Message 資源。 儘管 Chat 使用者只能傳送含有文字的訊息, 即時通訊應用程式可以使用許多其他訊息功能,包括 靜態或互動式使用者介面,可用來收集 使用者,以及進行私人訊息傳遞。進一步瞭解訊息功能 如要瞭解 Chat API 可用的功能,請參閱 Google Chat 訊息總覽

透過應用程式驗證, 您可以使用這個方法來刪除 已傳送即時通訊應用程式。取代為 使用者驗證,則 就能使用這個方法刪除已驗證使用者傳送的訊息。如果 使用者是聊天室的聊天室管理員,你也可以刪除 傳送訊息給其他聊天室成員傳送的訊息。詳情請參閱這篇文章 做為聊天室管理員角色

必要條件

Python

刪除具備使用者驗證機制的訊息

如要刪除具有使用者驗證機制的郵件, 並在要求中傳遞下列資訊:

下列範例會刪除含有 使用者驗證

Python

  1. 在工作目錄中,建立名為 chat_message_delete_user.py
  2. chat_message_delete_user.py 中加入下列程式碼:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.messages"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes a message.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                          'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().messages().delete(
    
            # The message to delete.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace MESSAGE with a message name.
            # Obtain the message name from the response body returned
            # after creating a message asynchronously with Chat REST API.
            name = 'spaces/SPACE/messages/MESSAGE'
    
        ).execute()
    
        # Prints response to the Chat API call.
        # When deleting a message, the response body is empty.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. 請在程式碼中替換下列內容:

    • SPACE:聊天室名稱,您可以從中取得 這個 spaces.list 方法 或聊天室網址傳送
    • MESSAGE:訊息名稱,您可以取得 建立非同步訊息後傳回的回應主體 透過 Chat API 或 自訂名稱 是在建立訊息時指派的
  4. 在工作目錄中建構並執行範例:

    python3 chat_message_delete_user.py
    

如果成功,回應主體會是空白的,表示訊息內容 已刪除。

刪除提供應用程式驗證機制的訊息

如何刪除訊息 應用程式驗證,請將 中的下列資訊:

下列範例會刪除含有 應用程式驗證

Python

  1. 在工作目錄中,建立名為 chat_delete_message_app.py
  2. chat_delete_message_app.py 中加入下列程式碼:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Delete a Chat message.
    result = chat.spaces().messages().delete(
    
      # The message to delete.
      #
      # Replace SPACE with a space name.
      # Obtain the space name from the spaces resource of Chat API,
      # or from a space's URL.
      #
      # Replace MESSAGE with a message name.
      # Obtain the message name from the response body returned
      # after creating a message asynchronously with Chat REST API.
      name='spaces/SPACE/messages/MESSAGE'
    
    ).execute()
    
    # Print Chat API's response in your command line interface.
    # When deleting a message, the response body is empty.
    print(result)
    
  3. 請在程式碼中替換下列內容:

    • SPACE:也就是空間的 name 訊息也會張貼,您可以在 spaces.list 方法 或聊天室網址傳送
    • MESSAGE:訊息名稱,您可以取得 建立非同步訊息後傳回的回應主體 透過 Chat API 或 自訂名稱 是在建立訊息時指派的
  4. 在工作目錄中建構並執行範例:

    python3 chat_delete_message_app.py
    

如果成功,回應主體會是空白的,表示訊息內容 已刪除。