Menyiapkan ruang dengan anggota awal

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

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.

Saat menyiapkan ruang, pertimbangkan hal-hal berikut:

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

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
    

Siapkan 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 personel People API resourceName adalah people/123456789, Anda dapat menambahkan pengguna ke ruang dengan termasuk keanggotaan dengan users/123456789 sebagai member.name.
  • Untuk menambahkan grup sebagai anggota ruang, tentukan groups/{group}, dengan {group} adalah ID grup yang ingin Anda buat keanggotaannya. ID untuk grup bisa dapat diambil menggunakan Cloud Identity API. Misalnya, jika Cloud Identity API menampilkan grup dengan nama groups/123456789, lalu tetapkan membership.groupMember.name ke groups/123456789. Google Grup tidak dapat ditambahkan ke chat grup atau DM, tetapi hanya ke ruang yang ditentukan.
  • Untuk membuat DM antara pengguna yang menelepon dan orang lain menentukan keanggotaan pengguna manusia dalam permintaan Anda.
  • Untuk membuat DM antara pengguna yang menelepon dan aplikasi panggilan, setel Space.singleUserBotDm untuk true dan tidak menentukan keanggotaan apa pun. Anda dapat hanya menggunakan metode ini untuk menyiapkan DM dengan aplikasi panggilan. Untuk menambahkan panggilan sebagai anggota ruang atau DM yang ada antara dua pengguna manusia, lihat membuat keanggotaan.

Contoh berikut membuat ruang bernama dan membuat keanggotaan ruang tersebut untuk satu kelompok dan tiga pengguna manusia (termasuk pengguna yang diotentikasi dan dua pengguna lain).

Python

  1. Di direktori kerja, 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 users and groups 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'
                  }
                },
                {
                  'groupMember': {
                    'name': 'groups/11223344'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_space_setup.py
    

Node.js

  1. Di direktori kerja, 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'}},
            {groupMember: {name: 'groups/11223344'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. Dalam direktori kerja Anda, jalankan contoh:

    node setup-space.js
    

Ruang chat bernama yang berisi satu grup dan tiga pengguna manusia, termasuk pengguna yang diotentikasi disiapkan.

Untuk membuka ruang, gunakan ID resource ruang untuk membuat URL ruang. Anda bisa mendapatkan ID resource dari ruang name di respons Google Chat {i>body <i}itu. Misalnya, jika name ruang Anda adalah spaces/1234567, Anda dapat ke ruang menggunakan URL berikut: https://mail.google.com/chat/u/0/#chat/space/1234567.