Mendapatkan detail tentang ruang

Panduan ini menjelaskan cara menggunakan metode get pada resource Space Google Chat API untuk melihat detail tentang ruang, seperti nama tampilan, deskripsi, dan panduannya.

Resource Space merepresentasikan tempat orang 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.
  • Chat grup adalah percakapan antara tiga pengguna atau lebih dan aplikasi Chat.
  • Ruang bernama adalah tempat tetap tempat orang mengirim pesan, berbagi file, dan berkolaborasi.

Mengautentikasi dengan autentikasi aplikasi memungkinkan aplikasi Chat mendapatkan ruang yang dapat diakses aplikasi Chat di Google Chat (misalnya, ruang tempat aplikasi menjadi anggota). Mengautentikasi dengan autentikasi pengguna memungkinkan Anda mendapatkan ruang yang dapat diakses oleh pengguna yang telah diautentikasi.

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. Mendapatkan ruang mendukung kedua metode autentikasi berikut:

Node.js

  • Node.js & npm
  • Library klien Google terbaru untuk Node.js. Untuk menginstalnya, jalankan perintah berikut di antarmuka command line Anda:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • 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. Mendapatkan ruang mendukung kedua metode autentikasi berikut:

Dapatkan ruang

Untuk mendapatkan ruang di Google Chat, teruskan kode berikut dalam permintaan Anda:

  • Dengan autentikasi aplikasi, tentukan cakupan otorisasi chat.bot. Dengan autentikasi pengguna, tentukan cakupan otorisasi chat.spaces.readonly atau chat.spaces.
  • Panggil metode get pada resource Space, dengan meneruskan name ruang yang akan didapatkan. Dapatkan nama ruang dari resource ruang Google Chat, atau dari URL ruang.

Mendapatkan detail ruang dengan autentikasi pengguna

Berikut cara mendapatkan detail ruang dengan autentikasi pengguna:

Python

  1. Di direktori kerja Anda, buat file bernama chat_space_get_user.py.
  2. Sertakan kode berikut di chat_space_get_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.spaces.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about 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().get(
    
              # The space to get.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        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_space_get_user.py
    

Node.js

  1. Di direktori kerja Anda, buat file bernama get-space.js.
  2. Sertakan kode berikut di get-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      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.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  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, jalankan contoh:

    node get-space.js
    

Chat API menampilkan instance Space yang menjelaskan ruang yang ditentukan.

Mendapatkan detail ruang dengan autentikasi aplikasi

Berikut cara mendapatkan detail ruang dengan autentikasi aplikasi:

Python

  1. Di direktori kerja Anda, buat file bernama chat_space_get_app.py.
  2. Sertakan kode berikut di chat_space_get_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().get(
    
        # The space to get.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        name='spaces/SPACE'
    
    ).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_space_get_app.py
    

Node.js

  1. Di direktori kerja Anda, buat file bernama app-get-space.js.
  2. Sertakan kode berikut di app-get-space.js:

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      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.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  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, jalankan contoh:

    node app-get-space.js
    

Chat API menampilkan instance Space yang menjelaskan ruang yang ditentukan.