Mengundang atau menambahkan pengguna atau aplikasi Google Chat ke ruang

Panduan ini menjelaskan cara menggunakan metode create pada resource membership di Google Chat API untuk mengundang atau menambahkan pengguna atau aplikasi Chat ke ruang yang juga dikenal sebagai pembuatan keanggotaan. Saat membuat keanggotaan, jika anggota yang ditentukan menonaktifkan kebijakan terima otomatis, mereka akan diundang, dan harus menerima undangan ruang sebelum bergabung. Jika tidak, membuat keanggotaan akan menambahkan anggota langsung ke ruang yang ditentukan.

Resource Membership mewakili apakah pengguna manusia atau aplikasi Google Chat diundang ke, sebagian, atau tidak ada dalam ruang.

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. Pembuatan keanggotaan memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.memberships atau chat.memberships.app.

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 keanggotaan memerlukan Autentikasi pengguna dengan cakupan otorisasi chat.memberships atau chat.memberships.app.

Mengundang atau menambahkan pengguna ke ruang

Untuk mengundang atau menambahkan pengguna ke ruang, teruskan hal berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.memberships.
  • Panggil metode create di resource membership.
  • Tetapkan parent ke nama resource ruang tempat membuat keanggotaan.
  • Tetapkan member ke users/{user} dengan {user} adalah pengguna yang ingin Anda buat keanggotaannya, dan merupakan:
    • ID untuk orang dalam People API. Misalnya, jika resourceName orang API adalah people/123456789, tetapkan membership.member.name ke users/123456789.
    • ID untuk pengguna di Directory API.
    • Alamat email pengguna. Misalnya, users/222larabrown@gmail.com atau users/larabrown@cymbalgroup.com. Jika pengguna tersebut menggunakan Akun Google atau termasuk dalam organisasi Google Workspace lain, Anda harus menggunakan alamat emailnya.

Contoh berikut menambahkan pengguna ke ruang:

Python

  1. Di direktori kerja, buat file bernama chat_membership_user_create.py.
  2. Sertakan kode berikut di chat_membership_user_create.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.memberships"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds a user to a Chat space by creating a membership.
        '''
    
        # 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().members().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which user the membership is for.
            body = {
              'member': {
                'name':'users/USER',
                'type': 'HUMAN'
              }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dalam kode, ganti kode berikut:

    • SPACE: nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

    • USER: ID pengguna.

  4. Di direktori kerja Anda, buat dan jalankan contoh:

    python3 chat_membership_user_create.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the user to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships.app',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/USER', type: 'HUMAN'}}
      });
    }
    
    addUserToSpace().then(console.log);
    
  3. Dalam kode, ganti kode berikut:

    • SPACE: nama ruang, yang dapat Anda peroleh dari metode spaces.list di Chat API, atau dari URL ruang.

    • USER: ID pengguna.

  4. Di direktori kerja Anda, jalankan contoh:

    node add-user-to-space.js
    

Chat API menampilkan instance membership yang menjelaskan keanggotaan yang dibuat.

Menambahkan aplikasi Chat ke ruang

Aplikasi Chat tidak dapat menambahkan aplikasi lain sebagai anggota ke ruang. Untuk menambahkan aplikasi Chat ke ruang atau pesan langsung antara dua pengguna, teruskan perintah berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.memberships.app.
  • Panggil metode create pada resource membership.
  • Tetapkan parent ke nama resource ruang tempat membuat keanggotaan.
  • Tetapkan member ke users/app; alias yang mewakili aplikasi yang memanggil Chat API.

Contoh berikut menambahkan aplikasi Chat ke ruang:

Python

  1. Di direktori kerja, buat file bernama chat_membership_app_create.py.
  2. Sertakan kode berikut di chat_membership_app_create.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.memberships.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then adds the Chat app to a Chat 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().members().create(
    
            # The space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Set the Chat app as the entity that gets added to the space.
            # 'app' is an alias for the Chat app calling the API.
            body = {
                'member': {
                  'name':'users/app',
                  'type': 'BOT'
                }
            }
    
        ).execute()
    
        # Prints details about the created membership.
        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_membership_app_create.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the app to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addAppToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships.app',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.members.create({
        parent: 'spaces/SPACE',
        requestBody: {member: {name: 'users/app', type: 'BOT'}}
      });
    }
    
    addAppToSpace().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 add-app-to-space.js
    

Chat API menampilkan instance membership yang menjelaskan keanggotaan yang dibuat.