Questa guida spiega come utilizzare il metodo delete
nella risorsa Message
dell'API Google Chat per eliminare un messaggio di testo o una scheda.
La risorsa Message
rappresenta un messaggio di testo o scheda in Google Chat. Puoi
create
, get
, update
o delete
un messaggio nell'API Google Chat chiamando
i metodi corrispondenti. Per scoprire di più sugli SMS e sui messaggi scheda, vedi Panoramica dei messaggi di Google Chat.
Prerequisiti
Python
- Python 3.6 o versioni successive
- Lo strumento di gestione dei pacchetti pip
Le librerie client di Google più recenti per Python. Per installarli o aggiornarli, esegui questo comando nell'interfaccia a riga di comando:
pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
- Un progetto Google Cloud con l'API Google Chat abilitata e configurata. Per i passaggi da seguire, vedi Creare un'app Google Chat.
Autorizzazione configurata per l'app Chat. L'eliminazione di un messaggio supporta entrambi i seguenti metodi di autenticazione:
- L'autenticazione utente,
con l'ambito di autorizzazione
chat.messages
, può eliminare i messaggi creati da quell'utente. Se sei un gestore dello spazio, potresti essere in grado di eliminare altri messaggi. Per maggiori informazioni, vedi Scopri di più sul tuo ruolo di gestore dello spazio. - L'autenticazione delle app,
con l'ambito di autorizzazione
chat.bot
, può eliminare i messaggi creati dall'app utilizzando il relativo account di servizio.
- L'autenticazione utente,
con l'ambito di autorizzazione
Eliminare un messaggio con l'autenticazione utente
Per eliminare un messaggio con autenticazione dell'utente, trasmetti quanto segue nella richiesta:
- Specifica l'ambito dell'autorizzazione
chat.messages
. - Chiama il metodo
delete
sulla risorsaMessage
. - Imposta
name
sul nome della risorsa del messaggio da eliminare.
Nell'esempio seguente viene eliminato un messaggio con autenticazione dell'utente:
Python
- Nella directory di lavoro, crea un file denominato
chat_message_delete_user.py
. 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()
Nel codice, sostituisci quanto segue:
SPACE
: il nome di uno spazio che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.MESSAGE
: un nome del messaggio, che puoi ottenere dal corpo della risposta restituito dopo aver creato un messaggio in modo asincrono con l'API Chat o con il nome personalizzato assegnato al messaggio al momento della creazione.
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_message_delete_user.py
In caso di esito positivo, il corpo della risposta è vuoto, a indicare che il messaggio è stato eliminato.
Eliminare un messaggio con l'autenticazione delle app
Per eliminare un messaggio con l'autenticazione dell'app, trasmetti quanto seguito nella richiesta:
- Specifica l'ambito dell'autorizzazione
chat.bot
. - Chiama il metodo
delete
sulla risorsaMessage
. - Imposta
name
sul nome della risorsa del messaggio da eliminare.
Nell'esempio seguente viene eliminato un messaggio con autenticazione delle app:
Python
- Nella directory di lavoro, crea un file denominato
chat_delete_message_app.py
. 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)
Nel codice, sostituisci quanto segue:
SPACE
: ilname
dello spazio in cui viene pubblicato il messaggio, che puoi ottenere dal metodospaces.list
nell'API Chat o dall'URL di uno spazio.MESSAGE
: il nome del messaggio, che puoi ottenere dal corpo della risposta restituito dopo aver creato un messaggio in modo asincrono con l'API Chat o con il nome personalizzato assegnato al messaggio al momento della creazione.
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_delete_message_app.py
In caso di esito positivo, il corpo della risposta è vuoto, a indicare che il messaggio è stato eliminato.
Argomenti correlati
- Formattare un messaggio.
- Visualizzare i dettagli di un messaggio.
- Elenca i messaggi in uno spazio.
- Aggiorna un messaggio.
- Inviare un messaggio.