Con la risorsa MessagePin
nell'API Chat, la tua app può mettere in primo piano i messaggi, rimuoverli e
ottenere un elenco di tutti i messaggi messi in primo piano negli spazi di Google Chat. I messaggi messi in primo piano sono visibili nell'interfaccia di Chat per tutti i membri dello spazio. Questa API aiuta la tua app a gestire i messaggi messi in primo piano per conto di un utente.
Per informazioni su come gli utenti mettono in primo piano i messaggi negli spazi, vedi Mettere in primo piano messaggi, file & link in spazi & messaggi.
Prerequisiti
Node.js
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di Chat.
- Installa la libreria client di Node.js Cloud.
-
Crea le credenziali dell'ID client OAuth per un'applicazione desktop. Per eseguire l'esempio in questa
guida, salva le credenziali come file JSON denominato
credentials.jsonnella directory locale.
- Scegli un ambito di autorizzazione che supporti l'autenticazione utente.
Considerazioni
- Puoi mettere in primo piano solo i messaggi già esistenti in uno spazio. Non puoi creare un nuovo messaggio e metterlo in primo piano nella stessa richiesta.
- Non puoi mettere in primo piano i messaggi visibili solo a te. Ad esempio, non puoi mettere in primo piano i messaggi privati che ricevi da un'app.
- Ogni spazio di Chat può avere fino a 100 messaggi messi in primo piano. Se la tua app tenta di mettere in primo piano un 101° messaggio, l'API restituisce un errore.
Mettere in primo piano un messaggio
Per mettere in primo piano un messaggio con l'autenticazione utente, passa quanto segue nella richiesta:
- Specifica l'ambito di autorizzazione
chat.spaces.pinsochat.spaces. - Chiama
messagePins.create. - Specifica il
parent(il nome dello spazio) e fornisci unbodycon il nome della risorsamessagedel messaggio originale.
L'esempio seguente mette in primo piano un messaggio in uno spazio:
Python
- Nella directory di lavoro, crea un file denominato
chat_pin_message.py. Includi il seguente codice in
chat_pin_message.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then pins a message in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Pin a message. result = service.spaces().messagePins().create( # The space to pin the message in. # # Replace SPACE with a space ID or name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to pin. body={ 'message': 'spaces/SPACE/messages/MESSAGE' } ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()Nel codice, sostituisci quanto segue:
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_pin_message.py
Rimuovere un messaggio messo in primo piano
Per rimuovere un messaggio messo in primo piano con l'autenticazione utente, passa quanto segue nella richiesta:
- Specifica l'ambito di autorizzazione
chat.spaces.pinsochat.spaces. - Chiama
messagePins.delete. - Imposta
namesul nome della risorsaMessagePinda eliminare.
Ecco come rimuovere un messaggio messo in primo piano:
Python
- Nella directory di lavoro, crea un file denominato
chat_unpin_message.py. Includi il seguente codice in
chat_unpin_message.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then unpins a message from a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Unpin a message. result = service.spaces().messagePins().delete( # The resource name of the message pin to delete. # # Replace SPACE with a space ID or name, and MESSAGE with the message ID. name='spaces/SPACE/messagePins/MESSAGE' ).execute() print(result) if __name__ == '__main__': main()Nel codice, sostituisci quanto segue:
Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_unpin_message.py
Visualizzare un elenco dei messaggi messi in primo piano
Per visualizzare un elenco dei messaggi messi in primo piano negli spazi a cui hai accesso, utilizza l'autenticazione utente e passa quanto segue nella richiesta:
- Specifica uno degli ambiti di lettura:
chat.spaces.pins.readonly,chat.spaces.readonly,chat.spaces.pinsochat.spaces. - Chiama
messagePins.list. - Specifica
parentcome nome dello spazio da cui recuperare i messaggi messi in primo piano.
Ecco come elencare i messaggi messi in primo piano:
Python
- Nella directory di lavoro, crea un file denominato
chat_list_pinned_messages.py. Includi il seguente codice in
chat_list_pinned_messages.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists pinned messages in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # List pinned messages. result = service.spaces().messagePins().list( # The space to list pinned messages from. # # Replace SPACE with a space ID or name. parent='spaces/SPACE' ).execute() print(result) if __name__ == '__main__': main()Nel codice, sostituisci
SPACEcon l'ID dello spazio dalnamedello spazio.Nella directory di lavoro, crea ed esegui l'esempio:
python3 chat_list_pinned_messages.py
Argomenti correlati
- Formattare un messaggio.
- Eliminare un messaggio.
- Visualizzare i dettagli di un messaggio.
- Elencare i messaggi in uno spazio.
- Aggiornare un messaggio.
- Inviare un messaggio.