Eliminare un messaggio

Questa guida spiega come utilizzare il metodo delete nella risorsa Message di l'API Google Chat per eliminare un messaggio di testo o una scheda.

La Message risorsa rappresenta un testo o scheda in Google Chat. Puoi create, get, update o delete un messaggio nell'API Google Chat chiamando metodi corrispondenti. Per ulteriori informazioni su SMS e messaggi di schede, vedi Panoramica dei messaggi di Google Chat.

Con l'autenticazione delle app, puoi utilizzare questo metodo per eliminare un messaggio che App Chat inviata. Con autenticazione degli utenti, può utilizzare questo metodo per eliminare un messaggio inviato da un utente autenticato. Se l'utente è il gestore dello spazio, potresti anche essere in grado di eliminare messaggio inviato da altri membri dello spazio. Per ulteriori informazioni, vedi Scopri di più su il tuo ruolo di gestore dello spazio.

Prerequisiti

Python

  • Python 3.6 o versioni successive
  • Lo strumento di gestione dei pacchetti pip
  • Le librerie client di Google più recenti. Per installarle o aggiornarle, esegui questo comando nell'interfaccia a riga di comando:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Eliminare un messaggio con l'autenticazione utente

Per eliminare un messaggio con l'autenticazione dell'utente: inserisci quanto segue nella tua richiesta:

  • Specifica l'ambito dell'autorizzazione chat.messages.
  • Chiama il Metodo delete il Message risorsa.
  • Imposta name sul nome della risorsa del messaggio da eliminare.

Nell'esempio seguente viene eliminato un messaggio con autenticazione utente:

Python

  1. Nella directory di lavoro, crea un file denominato chat_message_delete_user.py.
  2. Includi il seguente codice in 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. Nel codice, sostituisci quanto segue:

    • SPACE: il nome di uno spazio, che puoi ottenere il Metodo spaces.list nell'API Chat o dall'URL di uno spazio.
    • MESSAGE: il nome di un messaggio, che puoi ottenere dal corpo della risposta restituito dopo la creazione del messaggio in modo asincrono. con l'API Chat o con nome personalizzato e assegnato al messaggio al momento della creazione.
  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_message_delete_user.py
    

Se l'esito è positivo, il corpo della risposta è vuoto, a indicare che il messaggio è eliminati.

Eliminare un messaggio con l'autenticazione delle app

Per eliminare un messaggio con autenticazione dell'app, passa il parametro a seguire nella tua richiesta:

  • Specifica l'ambito dell'autorizzazione chat.bot.
  • Chiama il Metodo delete sulla risorsa Message.
  • Imposta name sul nome della risorsa del messaggio da eliminare.

Nell'esempio seguente viene eliminato un messaggio con autenticazione app:

Python

  1. Nella directory di lavoro, crea un file denominato chat_delete_message_app.py.
  2. Includi il seguente codice in 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. Nel codice, sostituisci quanto segue:

    • SPACE: il name dello spazio in cui che viene pubblicato, reperibile nella Metodo spaces.list nell'API Chat o dall'URL di uno spazio.
    • MESSAGE: il nome del messaggio, che puoi ottenere dal corpo della risposta restituito dopo la creazione del messaggio in modo asincrono. con l'API Chat o con nome personalizzato e assegnato al messaggio al momento della creazione.
  4. Nella directory di lavoro, crea ed esegui l'esempio:

    python3 chat_delete_message_app.py
    

Se l'esito è positivo, il corpo della risposta è vuoto, a indicare che il messaggio è eliminati.