Dengan MessagePin resource
di Chat API, aplikasi Anda dapat menyematkan pesan, membatalkan penyematan pesan, dan
mendapatkan daftar semua pesan yang disematkan di ruang Google Chat. Pesan yang disematkan terlihat di antarmuka Chat untuk semua anggota ruang. API ini membantu aplikasi Anda mengelola pesan yang disematkan atas nama pengguna.
Untuk mengetahui informasi tentang cara pengguna menyematkan pesan di ruang, lihat Menyematkan pesan, file, dan link di ruang & pesan.
Prasyarat
Node.js
- Akun Google Workspace Business atau Enterprise dengan akses ke Google Chat.
- Siapkan lingkungan Anda:
- Buat project Google Cloud.
- Konfigurasi layar izin OAuth.
- Aktifkan dan konfigurasi Google Chat API dengan nama, ikon, dan deskripsi untuk aplikasi Chat Anda.
- Instal Library Klien Cloud Node.js.
-
Buat kredensial klien OAuth untuk aplikasi desktop. Untuk menjalankan contoh dalam panduan ini, simpan kredensial sebagai file JSON bernama
credentials.jsonke direktori lokal Anda.
- Pilih cakupan otorisasi yang mendukung autentikasi pengguna.
Pertimbangan
- Anda hanya dapat menyematkan pesan yang sudah ada di ruang. Anda tidak dapat membuat pesan baru dan menyematkannya dalam permintaan yang sama.
- Anda tidak dapat menyematkan pesan yang hanya dapat dilihat oleh Anda. Misalnya, Anda tidak dapat menyematkan pesan pribadi yang Anda terima dari aplikasi.
- Setiap ruang Chat dapat memiliki hingga 100 pesan yang disematkan. Jika aplikasi Anda mencoba menyematkan pesan ke-101, API akan menampilkan error.
Menyematkan pesan
Untuk menyematkan pesan dengan autentikasi pengguna, luluskan hal berikut dalam permintaan Anda:
- Tentukan cakupan otorisasi
chat.spaces.pinsatauchat.spaces. - Panggil
messagePins.create. - Tentukan
parent(nama ruang) dan berikanbodydenganmessagenama resource pesan asli.
Contoh berikut menyematkan pesan dalam ruang:
Python
- Di direktori kerja Anda, buat file bernama
chat_pin_message.py. Sertakan kode berikut di
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()Dalam kode, ganti kode berikut:
Di direktori kerja Anda, buat dan jalankan sampel:
python3 chat_pin_message.py
Melepas pin pesan
Untuk menyematkan pesan dengan autentikasi pengguna, teruskan hal berikut dalam permintaan Anda:
- Tentukan cakupan otorisasi
chat.spaces.pinsatauchat.spaces. - Panggil
messagePins.delete. - Tetapkan
nameke nama resourceMessagePinyang akan dihapus.
Berikut cara membatalkan penyematan pesan:
Python
- Di direktori kerja Anda, buat file bernama
chat_unpin_message.py. Sertakan kode berikut di
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()Dalam kode, ganti kode berikut:
Di direktori kerja Anda, buat dan jalankan sampel:
python3 chat_unpin_message.py
Mendapatkan daftar pesan yang disematkan
Untuk mendapatkan daftar pesan yang disematkan di ruang yang dapat Anda akses, gunakan autentikasi pengguna, dan teruskan hal berikut dalam permintaan Anda:
- Tentukan salah satu cakupan baca:
chat.spaces.pins.readonly,chat.spaces.readonly,chat.spaces.pins, atauchat.spaces. - Panggil
messagePins.list. - Tentukan
parentsebagai nama ruang untuk mengambil pesan yang disematkan.
Berikut cara mencantumkan pesan yang disematkan:
Python
- Di direktori kerja Anda, buat file bernama
chat_list_pinned_messages.py. Sertakan kode berikut di
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()Dalam kode, ganti
SPACEdengan ID ruang darinameruang.Di direktori kerja Anda, buat dan jalankan sampel:
python3 chat_list_pinned_messages.py
Topik terkait
- Memformat pesan.
- Menghapus pesan.
- Mendapatkan detail tentang pesan.
- Mencantumkan pesan dalam ruang.
- Memperbarui pesan.
- Mengirim pesan.