Menyiapkan ruang dengan anggota awal

Panduan ini menjelaskan cara menggunakan metode setup di resource Space Google Chat API untuk menyiapkan ruang Google Chat. Menyiapkan ruang akan membuat ruang dan menambahkan pengguna yang ditentukan ke dalamnya.

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

Saat menyiapkan ruang, pertimbangkan hal-hal berikut:

  • Pengguna yang melakukan panggilan (diautentikasi) akan ditambahkan ke ruang secara otomatis, sehingga Anda tidak perlu menentukan keanggotaan pengguna tersebut dalam permintaan.
  • Saat membuat pesan langsung (DM), jika ada DM di antara dua pengguna, DM akan ditampilkan. Jika tidak, DM akan dibuat.
  • Saat membuat chat grup, jika tidak ada keanggotaan yang diberikan dalam permintaan yang berhasil ditambahkan ke chat grup (misalnya, masalah izin), chat grup kosong (termasuk hanya pengguna yang menelepon) mungkin akan 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 difilter, bukan menyebabkan 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 Membangun aplikasi Google Chat.
  • Otorisasi yang dikonfigurasi untuk aplikasi Chat. Penyiapan ruang 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 Membangun aplikasi Google Chat.
  • Otorisasi yang dikonfigurasi untuk aplikasi Chat. Pembuatan ruang memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.spaces.create atau chat.spaces.

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 orang resourceName People API adalah people/123456789, Anda dapat menambahkan pengguna ke ruang dengan menyertakan 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 dapat diambil menggunakan Cloud Identity API. Misalnya, jika Cloud Identity API menampilkan grup dengan nama groups/123456789, tetapkan membership.groupMember.name ke groups/123456789. Google Grup tidak dapat ditambahkan ke chat grup atau DM, tetapi hanya ke ruang yang diberi nama.
  • Untuk membuat DM antara pengguna yang menelepon dan pengguna manusia lainnya, tentukan keanggotaan pengguna manusia dalam permintaan Anda.
  • Untuk membuat DM antara pengguna yang menelepon dan aplikasi panggilan, tetapkan Space.singleUserBotDm ke true dan jangan tentukan 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 ada antara dua pengguna manusia, lihat membuat keanggotaan.

Contoh berikut membuat ruang bernama dan membuat keanggotaan ruang untuk satu grup dan tiga pengguna manusia (termasuk pengguna yang diautentikasi dan dua pengguna tertentu lainnya).

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 dengan satu grup dan tiga pengguna manusia, termasuk pengguna terautentikasi, sudah disiapkan.

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