Membuat daftar pengguna dan aplikasi Google Chat dalam ruang

Panduan ini menjelaskan cara menggunakan metode list pada resource membership Google Chat API untuk membuat daftar pengguna dan aplikasi Chat dalam ruang sebagai daftar keanggotaan yang telah dipaginasi dan dapat difilter dalam ruang. Mencantumkan keanggotaan dengan autentikasi aplikasi mencantumkan keanggotaan dalam ruang yang dapat diakses aplikasi Chat, tetapi tidak mencakup keanggotaan aplikasi Chat, termasuk keanggotaannya sendiri. Mencantumkan keanggotaan dengan Autentikasi pengguna mencantumkan keanggotaan di ruang yang dapat diakses oleh pengguna terautentikasi.

Resource Membership mewakili apakah pengguna manusia atau aplikasi Google Chat diundang ke, sebagian, 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 mengupdatenya, 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 Mem-build aplikasi Google Chat.
  • Otorisasi dikonfigurasi untuk aplikasi Chat. Keanggotaan listingan mendukung kedua metode autentikasi berikut:

Mencantumkan pengguna dan aplikasi Chat dalam ruang dengan autentikasi pengguna

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

Contoh berikut mencantumkan anggota ruang manusia (bukan pengelola ruang) yang terlihat oleh pengguna yang diautentikasi karena filter ditetapkan ke ROLE_Member:

Python

  1. Di direktori kerja Anda, 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 human space members (but not space managers) 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',
    
            # An optional filter that returns only human space members.
            filter = 'member.type = "HUMAN" AND role = "ROLE_MEMBER"'
    
        ).execute()
    
        # Prints details about the created membership.
        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. Di direktori kerja Anda, buat dan jalankan contoh:

    python3 chat_member_list_user.py
    

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

Mencantumkan pengguna dan aplikasi Chat 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 Anda, 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. Di direktori kerja Anda, buat 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, diterima dari panggilan ruang daftar sebelumnya. Berikan token ini untuk mengambil halaman berikutnya. Saat melakukan penomoran halaman, nilai filter harus cocok dengan panggilan yang menyediakan token halaman. Meneruskan nilai yang berbeda dapat menyebabkan hasil yang tidak diharapkan.
  • filter: Filter kueri. Memerlukan autentikasi pengguna. Untuk detail kueri yang didukung, lihat metode spaces.members.list.