Membuat daftar anggota dalam ruang

Panduan ini menjelaskan cara menggunakan metode list pada resource membership Google Chat API untuk mencantumkan anggota dalam ruang sebagai daftar keanggotaan yang diberi nomor halaman dan dapat difilter dalam ruang. Keanggotaan listingan dengan autentikasi aplikasi mencantumkan keanggotaan di ruang yang dapat diakses aplikasi Chat, tetapi tidak menyertakan keanggotaan aplikasi Chat, termasuk keanggotaannya sendiri. Keanggotaan listingan dengan Autentikasi pengguna mencantumkan keanggotaan di ruang yang dapat diakses oleh pengguna terautentikasi.

Resource Membership menunjukkan apakah pengguna manusia atau aplikasi Google Chat diundang ke, sebagian dari, atau tidak ada dalam ruang.

Prasyarat

Python

  • Python 3.6 atau yang lebih baru
  • Alat pengelolaan paket pip
  • Library klien Google terbaru untuk Python. Untuk menginstal atau mengupdate aplikasi tersebut, jalankan perintah berikut di antarmuka command line Anda:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib google-auth
    
  • Project Google Cloud dengan Google Chat API yang diaktifkan dan dikonfigurasi. Untuk mengetahui langkah-langkahnya, lihat Membangun aplikasi Google Chat.
  • Otorisasi dikonfigurasi untuk aplikasi Chat. Keanggotaan listingan mendukung kedua metode autentikasi berikut:

Mencantumkan anggota dalam ruang dengan autentikasi pengguna

Untuk menampilkan daftar pengguna, Google Grup, dan aplikasi Chat di ruang yang dapat diakses oleh pengguna terautentikasi, teruskan hal berikut dalam permintaan Anda:

Contoh berikut mencantumkan Google Grup, manusia, dan anggota aplikasi yang terlihat oleh pengguna terautentikasi.

Python

  1. Di direktori kerja, buat file bernama chat_member_list_user.py.
  2. Sertakan kode berikut di chat_member_list_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.memberships.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists Google Group, human, and app members in a specified space.
        '''
    
        # 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().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # Set this parameter to list Google Groups.
            showGroups = 'true'
    
        ).execute()
    
        # Prints the list of memberships.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam kode, ganti SPACE dengan nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

  4. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_member_list_user.py
    

Google Chat API menampilkan daftar anggota Google Grup, manusia, dan aplikasi dari ruang yang ditentukan.

Mencantumkan anggota dalam ruang dengan autentikasi aplikasi

Untuk menampilkan daftar pengguna dan aplikasi Chat di ruang yang dapat diakses oleh aplikasi yang diautentikasi, teruskan hal berikut dalam permintaan Anda:

Contoh berikut mencantumkan anggota ruang manusia (bukan pengelola ruang) yang terlihat oleh aplikasi Chat:

Python

  1. Di direktori kerja, buat file bernama chat_member_list_app.py.
  2. Sertakan kode berikut di chat_member_list_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)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().members().list(
    
            # The space for which to list memberships.
            parent = 'spaces/SPACE',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
    print(result)
    
  3. Dalam kode, ganti SPACE dengan nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

  4. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_member_list_app.py
    

Google Chat API menampilkan daftar anggota ruang manusia (tidak termasuk pengelola ruang) dari ruang yang ditentukan.

Menyesuaikan penomoran halaman atau memfilter daftar

Untuk mencantumkan keanggotaan, teruskan parameter kueri berikut untuk menyesuaikan penomoran halaman, atau memfilter, keanggotaan yang tercantum:

  • pageSize: Jumlah maksimum langganan yang akan ditampilkan. Layanan mungkin menampilkan lebih sedikit dari nilai ini. Jika tidak ditentukan, maksimal 100 spasi akan ditampilkan. Nilai maksimum adalah 1.000; nilai di atas 1.000 akan otomatis diubah menjadi 1.000.
  • pageToken: Token halaman, yang diterima dari panggilan ruang daftar sebelumnya. Berikan token ini untuk mengambil halaman selanjutnya. Saat melakukan penomoran halaman, nilai filter harus sesuai dengan panggilan yang menyediakan token halaman. Meneruskan nilai yang berbeda dapat menyebabkan hasil yang tidak diharapkan.
  • filter: Filter kueri. Memerlukan autentikasi pengguna. Untuk mengetahui detail kueri yang didukung, lihat metode spaces.members.list.