Menyiapkan ruang dengan anggota awal

Panduan ini menjelaskan cara menggunakan metode setup pada resource Space Google Chat API untuk menyiapkan ruang Google Chat. Penyiapan ruang akan membuat ruang dan menambahkan pengguna tertentu ke dalamnya.

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.

Saat menyiapkan ruang, pertimbangkan hal berikut:

  • Pengguna yang melakukan panggilan (diautentikasi) otomatis ditambahkan ke ruang, sehingga Anda tidak perlu mencantumkan keanggotaan pengguna dalam permintaan.
  • Saat membuat pesan langsung (DM), jika DM ada di antara dua pengguna, DM akan ditampilkan. Jika tidak, DM akan dibuat.
  • Saat membuat chat grup, jika tidak ada keanggotaan yang disediakan dalam permintaan yang berhasil ditambahkan ke chat grup (misalnya, masalah izin), chat grup kosong (termasuk hanya pengguna yang menelepon) dapat dibuat.
  • Anda tidak dapat menyiapkan ruang dengan balasan berangkai atau menambahkan orang di luar Google Workspace.
  • Keanggotaan duplikat (termasuk pengguna yang melakukan panggilan) yang diberikan dalam permintaan akan difilter, bukan sehingga menghasilkan error permintaan.

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
    
  • 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. Untuk menyiapkan ruang, Anda memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.spaces.create atau chat.spaces.

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. Pembuatan ruang memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.spaces.create atau chat.spaces.

Menyiapkan ruang

Untuk menyiapkan ruang, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.spaces.create atau chat.spaces.
  • Panggil metode setup pada resource Space.
  • Untuk menambahkan pengguna manusia sebagai anggota ruang, tentukan users/{user}, dengan {user} adalah {person_id} untuk person dari People API, atau ID user di Directory API. Misalnya, jika pengguna People API resourceName adalah people/123456789, Anda dapat menambahkan pengguna ke ruang dengan menyertakan keanggotaan users/123456789 sebagai member.name.
  • Untuk membuat DM antara pengguna yang melakukan panggilan dan pengguna manusia lainnya, tentukan keanggotaan pengguna manusia tersebut dalam permintaan Anda.
  • Untuk membuat DM antara pengguna yang melakukan panggilan dan aplikasi panggilan, tetapkan Space.singleUserBotDm ke true dan jangan tetapkan keanggotaan apa pun. Anda hanya dapat menggunakan metode ini untuk menyiapkan DM dengan aplikasi panggilan. Untuk menambahkan aplikasi panggilan sebagai anggota ruang atau DM yang sudah ada antara dua pengguna manusia, lihat membuat keanggotaan.

Contoh berikut membuat ruang bernama dan membuat keanggotaan ke ruang untuk tiga pengguna manusia, pengguna yang diautentikasi dan dua pengguna lain yang ditentukan:

Python

  1. Di direktori kerja Anda, buat file bernama chat_space_setup.py.
  2. Sertakan kode berikut di chat_space_setup.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.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then sets up a Chat space by creating a space and adding members.
        '''
    
        # 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().setup(
    
          # Details about the space to set up.
          body = {
    
            # Attributes of the space to set up, like space type and display name.
            'space': {
    
                # To set up a named space, set spaceType to SPACE.
                'spaceType': 'SPACE',
    
                # The user-visible name of the space
                'displayName': 'API-setup'
            },
    
            # The people and app to add to the space.
            #
            # The authenticated user is automatically added to the space,
            # and doesn't need to be specified in the memberships array.
            'memberships': [
                {
                  'member': {
                    'name':'users/123456789',
                    'type': 'HUMAN'
                  }
                },
                {
                  'member': {
                    'name':'users/987654321',
                    'type': 'HUMAN'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Di direktori kerja Anda, buat dan jalankan contoh:

    python3 chat_space_setup.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Sets up a new Chat space with users.
    * @return {!Promise<!Object>}
    */
    async function setupSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.create',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.setup({
        requestBody: {
          space: {
            spaceType: 'SPACE',
            displayName: 'API-made',
          },
          memberships: [
            {member: {name: 'users/123456789', type: 'HUMAN'}},
            {member: {name: 'users/987654321', type: 'HUMAN'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. Di direktori kerja Anda, jalankan contoh:

    node setup-space.js
    

Ruang chat bernama dengan tiga pengguna manusia, termasuk pengguna yang diautentikasi, sudah disiapkan.

Untuk membuka ruang, gunakan ID resource ruang untuk membuat URL ruang. Anda bisa mendapatkan ID resource dari name ruang dalam isi respons Google Chat. Misalnya, jika name ruang adalah spaces/1234567, Anda dapat membuka ruang menggunakan URL berikut: https://mail.google.com/chat/u/0/#chat/space/1234567.