Mencantumkan ruang

Panduan ini menjelaskan cara menggunakan resource list pada resource Space Google Chat API untuk membuat daftar ruang. Ruang listingan menampilkan halaman yang diberi nomor halaman dan dapat difilter daftar spasi.

Tujuan Referensi Space mewakili tempat pengguna dan aplikasi Chat dapat mengirim pesan, berbagi file, dan berkolaborasi. Ada beberapa jenis ruang:

  • Pesan langsung (DM) adalah percakapan antara dua pengguna atau pengguna dan aplikasi Chat.
  • {i>Chat<i} grup adalah percakapan antara tiga pengguna atau lebih dan Aplikasi Chat.
  • Ruang bernama adalah tempat tetap tempat orang mengirim pesan, berbagi file, dan berkolaborasi.

Mencantumkan ruang dengan autentikasi aplikasi mencantumkan ruang yang dapat diakses aplikasi Chat. Listingan ruang dengan Autentikasi pengguna mencantumkan ruang yang dapat diakses oleh pengguna yang diotentikasi.

Prasyarat

Python

  • Python 3.6 atau yang lebih baru
  • Alat pengelolaan paket pip
  • Library klien Google terbaru. Untuk menginstal atau memperbaruinya, jalankan perintah berikut di antarmuka command line Anda:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Node.js

  • Node.js 14 atau yang lebih baru
  • npm alat pengelolaan paket
  • Library klien Google terbaru. Untuk menginstal atau memperbaruinya, jalankan perintah berikut di antarmuka command line Anda:
    npm install @google-cloud/local-auth @googleapis/chat
    

Mencantumkan ruang dengan autentikasi pengguna

Untuk menampilkan daftar ruang di Google Chat, teruskan kode berikut dalam permintaan:

Contoh berikut mencantumkan ruang dan chat grup bernama (tetapi tidak secara langsung pesan, yang akan difilter) yang terlihat oleh pengguna terautentikasi:

Python

  1. Di direktori kerja, buat file bernama chat_space_list.py.
  2. Sertakan kode berikut di chat_space_list.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.spaces.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then lists named spaces and group chats (but not direct messages)
        visible to the authenticated user.
        '''
    
        # 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().list(
    
              # An optional filter that returns named spaces or unnamed group chats,
              # but not direct messages (DMs).
              filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
          ).execute()
    
        # Prints the returned list of spaces.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_space_list.py
    

Node.js

  1. Di direktori kerja, buat file bernama list-spaces.js.
  2. Sertakan kode berikut di list-spaces.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Dalam direktori kerja Anda, jalankan contoh:

    node list-spaces.js
    

Chat API menampilkan array berpaginasi dari ruang dan chat grup.

Mencantumkan ruang dengan autentikasi aplikasi

Untuk menampilkan daftar ruang di Google Chat, teruskan kode berikut dalam permintaan:

Contoh berikut mencantumkan ruang dan chat grup yang bernama (tetapi tidak secara langsung ) yang terlihat oleh aplikasi Chat:

Python

  1. Di direktori kerja, buat file bernama chat_space_list_app.py.
  2. Sertakan kode berikut di chat_space_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().list(
    
            # An optional filter that returns named spaces or unnamed
            # group chats, but not direct messages (DMs).
            filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
    
        ).execute()
    
    print(result)
    
  3. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_space_list_app.py
    

Node.js

  1. Di direktori kerja, buat file bernama app-list-spaces.js.
  2. Sertakan kode berikut di app-list-spaces.js:

    const chat = require('@googleapis/chat');
    
    /**
    * List Chat spaces.
    * @return {!Promise<!Object>}
    */
    async function listSpaces() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.list({
        filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"'
      });
    }
    
    listSpaces().then(console.log);
    
  3. Dalam direktori kerja Anda, jalankan contoh:

    node app-list-spaces.js
    

Chat API menampilkan array ruang yang diberi nomor halaman.

Menyesuaikan penomoran halaman atau memfilter daftar

Untuk mencantumkan ruang di Google Chat, teruskan kolom opsional berikut parameter kueri untuk menyesuaikan penomoran halaman atau memfilter ruang yang tercantum:

  • pageSize: Jumlah maksimum spasi yang akan ditampilkan. Layanan mungkin menampilkan kurang dari nilai ini. Jika tidak ditentukan, maksimal 100 spasi akan ditampilkan. Tujuan nilai maksimumnya adalah 1.000; nilai di atas 1.000 secara otomatis diubah menjadi 1.000.
  • pageToken: Token halaman, yang diterima dari panggilan ruang daftar sebelumnya. Berikan token ini untuk mengambil halaman selanjutnya. Ketika melakukan penomoran halaman, nilai filter harus cocok dengan panggilan yang memberikan token halaman. Meneruskan nilai yang berbeda dapat menyebabkan hasil yang tidak terduga.
  • filter: Filter kueri. Untuk mengetahui detail kueri yang didukung, lihat Metode spaces.list.