Menyematkan atau melepas sematan pesan di ruang Google Chat

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

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.pins atau chat.spaces.
  • Panggil messagePins.create.
  • Tentukan parent (nama ruang) dan berikan body dengan message nama resource pesan asli.

Contoh berikut menyematkan pesan dalam ruang:

Python

  1. Di direktori kerja Anda, buat file bernama chat_pin_message.py.
  2. 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()
    
  3. Dalam kode, ganti kode berikut:

    • SPACE: ID dari name ruang.
    • MESSAGE: ID dari name pesan.
  4. 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.pins atau chat.spaces.
  • Panggil messagePins.delete.
  • Tetapkan name ke nama resource MessagePin yang akan dihapus.

Berikut cara membatalkan penyematan pesan:

Python

  1. Di direktori kerja Anda, buat file bernama chat_unpin_message.py.
  2. 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()
    
  3. Dalam kode, ganti kode berikut:

    • SPACE: ID dari name ruang.
    • MESSAGE: ID dari name pesan.
  4. 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, atau chat.spaces.
  • Panggil messagePins.list.
  • Tentukan parent sebagai nama ruang untuk mengambil pesan yang disematkan.

Berikut cara mencantumkan pesan yang disematkan:

Python

  1. Di direktori kerja Anda, buat file bernama chat_list_pinned_messages.py.
  2. 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()
    
  3. Dalam kode, ganti SPACE dengan ID ruang dari name ruang.

  4. Di direktori kerja Anda, buat dan jalankan sampel:

    python3 chat_list_pinned_messages.py