Mengundang atau menambahkan pengguna, grup Google, atau aplikasi Google Chat ke ruang

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

Resource Membership menunjukkan apakah pengguna manusia atau aplikasi Google Chat diundang ke, sebagian dari, 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 Membangun aplikasi Google Chat.
  • Otorisasi yang 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 Membangun aplikasi Google Chat.
  • Otorisasi yang 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 pada resource membership.
  • Tetapkan parent ke nama resource ruang tempat membuat keanggotaan.
  • Tetapkan member ke users/{user} dengan {user} adalah orang yang ingin Anda buatkan keanggotaannya, dan merupakan:
    • ID untuk orang di People API. Misalnya, jika orang resourceName People 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 menggunakan Akun Google atau milik 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. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_membership_user_create.py
    

Node.js

  1. Di direktori kerja, 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',
      ];
    
      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. Dalam direktori kerja Anda, jalankan contoh:

    node add-user-to-space.js
    

Chat API menampilkan instance membership yang menjelaskan keanggotaan pengguna yang dibuat.

Undang atau tambahkan grup Google ke ruang

Untuk mengundang atau menambahkan Google Grup ke ruang, teruskan kode berikut dalam permintaan Anda:

  • Tentukan cakupan otorisasi chat.memberships.
  • Panggil metode create pada resource membership.
  • Tetapkan parent ke nama resource ruang tempat membuat keanggotaan.
  • Tetapkan groupMember ke 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 pesan langsung, tetapi hanya ke ruang bernama. Contoh berikut menambahkan grup ke ruang bernama:

Python

  1. Di direktori kerja, buat file bernama chat_membership_group_create.py.
  2. Sertakan kode berikut di chat_membership_group_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 group 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 named space in which to create a membership.
            parent = 'spaces/SPACE',
    
            # Specify which group the membership is for.
            body = {
              'groupMember': {
                'name':'groups/GROUP',
              }
            }
    
        ).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.

    • GROUP: ID grup.

  4. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_membership_group_create.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Adds the group to the Chat space.
    * @return {!Promise<!Object>}
    */
    async function addUserToSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.memberships',
      ];
    
      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: {groupMember: {name: 'groups/GROUP'}}
      });
    }
    
    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.

    • GROUP: ID grup.

  4. Dalam direktori kerja Anda, jalankan contoh:

    node add-group-to-space.js
    

Chat API menampilkan instance membership yang menjelaskan keanggotaan grup 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 manusia, teruskan hal 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. Dalam direktori kerja, build dan jalankan contoh:

    python3 chat_membership_app_create.py
    

Node.js

  1. Di direktori kerja, 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. Dalam direktori kerja Anda, jalankan contoh:

    node add-app-to-space.js
    

Chat API menampilkan instance membership yang menjelaskan keanggotaan aplikasi yang dibuat.