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

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

Tujuan Referensi Membership mewakili apakah pengguna manusia atau aplikasi Google Chat diundang, bagian dari, atau tidak ada dalam suatu ruang.

Prasyarat

Python

Node.js

Mengundang atau menambahkan pengguna ke ruang

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

  • 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 orang yang Anda inginkan membuat keanggotaan, dan:
    • ID untuk orang di People API. Misalnya, jika People API orang resourceName adalah people/123456789, lalu 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 email Anda.

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 yang dapat diperoleh 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 dapatkan 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 merinci keanggotaan pengguna yang telah dibuat.

Undang atau tambahkan grup Google ke ruang

Untuk mengundang atau menambahkan grup Google ke ruang, teruskan item berikut di permintaan:

  • Tentukan cakupan otorisasi chat.memberships.
  • Panggil Metode create di Resource membership.
  • Tetapkan parent ke nama resource ruang tempat membuat keanggotaan.
  • Tetapkan groupMember ke groups/{group} dengan {group} adalah ID grup yang Anda Anda ingin buat keanggotaannya. ID untuk grup tersebut dapat diambil menggunakan API Cloud Identity. 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 pesan langsung, tetapi hanya ke yang disebut spasi. 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 yang dapat diperoleh 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 dapatkan 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 merinci keanggotaan grup yang dibuat.

Menambahkan aplikasi Chat ke ruang

Aplikasi Chat tidak dapat menambahkan aplikasi lain sebagai anggota ke spasi. 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.
  • Setel member ke users/app; alias yang mewakili aplikasi yang memanggil API Chat.

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 yang dapat diperoleh 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 yang dapat diperoleh 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 merinci keanggotaan aplikasi yang dibuat.