یک کاربر، Google Group یا برنامه Google Chat را به یک فضا دعوت یا اضافه کنید

این راهنما نحوه استفاده از روش create در منبع membership Google Chat API برای دعوت یا افزودن یک کاربر، Google Group یا برنامه Chat به فضایی که به نام ایجاد عضویت نیز شناخته می‌شود، توضیح می‌دهد. هنگام ایجاد عضویت، اگر خط‌مشی پذیرش خودکار عضو مشخص‌شده خاموش باشد، دعوت می‌شود و باید قبل از پیوستن، دعوت فضایی را بپذیرد. در غیر این صورت، ایجاد عضویت، عضو را مستقیماً به فضای مشخص شده اضافه می کند.

منبع Membership نشان می‌دهد که آیا کاربر انسانی یا برنامه چت Google به یک فضا دعوت شده، بخشی از آن یا غایب است.

پیش نیازها

پایتون

  • پایتون 3.6 یا بالاتر
  • ابزار مدیریت بسته پیپ
  • جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • یک پروژه Google Cloud با Google Chat API فعال و پیکربندی شده است. برای مراحل، به ساخت برنامه گپ Google مراجعه کنید.
  • مجوز برای برنامه چت پیکربندی شد. ایجاد عضویت نیاز به احراز هویت کاربر با محدوده مجوز chat.memberships یا chat.memberships.app دارد.

Node.js

  • Node.js و npm
  • جدیدترین کتابخانه های سرویس گیرنده Google برای Node.js. برای نصب آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • یک پروژه Google Cloud با Google Chat API فعال و پیکربندی شده است. برای مراحل، به ساخت برنامه گپ Google مراجعه کنید.
  • مجوز برای برنامه چت پیکربندی شد. ایجاد عضویت نیاز به احراز هویت کاربر با محدوده مجوز chat.memberships یا chat.memberships.app دارد.

یک کاربر را به یک فضا دعوت یا اضافه کنید

برای دعوت یا افزودن یک کاربر به یک فضا، موارد زیر را در درخواست خود ارسال کنید:

  • محدوده مجوز chat.memberships را مشخص کنید.
  • متد create را در منبع membership فراخوانی کنید.
  • parent را روی نام منبع فضایی که در آن عضویت ایجاد می شود، تنظیم کنید.
  • member را روی users/{user} تنظیم کنید که در آن {user} شخصی است که می‌خواهید برای او عضویت ایجاد کنید، و یکی از این موارد است:
    • شناسه شخص در People API. به عنوان مثال، اگر People API person resourceName people/123456789 باشد، membership.member.name را روی users/123456789 تنظیم کنید.
    • شناسه کاربر در Directory API.
    • آدرس ایمیل کاربر. به عنوان مثال، users/222larabrown@gmail.com یا users/larabrown@cymbalgroup.com . اگر کاربر از یک حساب Google استفاده می کند یا متعلق به یک سازمان Google Workspace دیگر است، باید از آدرس ایمیل او استفاده کنید.

مثال زیر یک کاربر را به یک فاصله اضافه می کند:

پایتون

  1. در پوشه کاری خود، یک فایل با نام chat_membership_user_create.py ایجاد کنید.
  2. کد زیر را در 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. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

    • USER : یک شناسه کاربری.

  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_membership_user_create.py
    

Node.js

  1. در پوشه کاری خود، یک فایل با نام add-user-to-space.js ایجاد کنید.
  2. کد زیر را در 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. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

    • USER : یک شناسه کاربری.

  4. در پوشه کاری خود، نمونه را اجرا کنید:

    node add-user-to-space.js
    

Chat API نمونه‌ای از membership را برمی‌گرداند که عضویت کاربر ایجاد شده را جزئیات می‌دهد.

یک گروه Google را به یک فضا دعوت یا اضافه کنید

برای دعوت یا افزودن یک گروه Google به یک فضا، موارد زیر را در درخواست خود ارسال کنید:

  • محدوده مجوز chat.memberships را مشخص کنید.
  • متد create را در منبع membership فراخوانی کنید.
  • parent را روی نام منبع فضایی که در آن عضویت ایجاد می شود، تنظیم کنید.
  • groupMember روی groups/{group} تنظیم کنید که {group} شناسه گروهی است که می خواهید برای آن عضویت ایجاد کنید. شناسه گروه را می توان با استفاده از Cloud Identity API بازیابی کرد. به عنوان مثال، اگر Cloud Identity API گروهی را با نام groups/123456789 برمی گرداند، سپس membership.groupMember.name را روی groups/123456789 تنظیم کنید.

Google Groups را نمی توان به یک چت گروهی یا پیام مستقیم اضافه کرد، بلکه فقط به یک فضای نامگذاری شده اضافه می شود. مثال زیر یک گروه را به فضای نامگذاری شده اضافه می کند:

پایتون

  1. در پوشه کاری خود، یک فایل با نام chat_membership_group_create.py ایجاد کنید.
  2. کد زیر را در 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. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

    • GROUP : شناسه گروه.

  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_membership_group_create.py
    

Node.js

  1. در پوشه کاری خود، یک فایل با نام add-group-to-space.js ایجاد کنید.
  2. کد زیر را در 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. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

    • GROUP : شناسه گروه.

  4. در پوشه کاری خود، نمونه را اجرا کنید:

    node add-group-to-space.js
    

Chat API نمونه‌ای از membership را برمی‌گرداند که عضویت گروه ایجاد شده را جزئیات می‌دهد.

یک برنامه چت را به یک فضا اضافه کنید

برنامه چت نمی‌تواند برنامه دیگری را به عنوان عضو به فضا اضافه کند. برای افزودن یک برنامه چت به یک فضا یا یک پیام مستقیم بین دو کاربر انسانی، موارد زیر را در درخواست خود ارسال کنید:

  • محدوده مجوز chat.memberships.app را مشخص کنید.
  • متد create را در منبع membership فراخوانی کنید.
  • parent به نام منبع فضایی که در آن عضویت ایجاد می شود، تنظیم کنید.
  • member به users/app تنظیم کنید. نام مستعاری که نشان دهنده برنامه فراخوانی Chat API است.

مثال زیر یک برنامه چت را به یک فضا اضافه می کند:

پایتون

  1. در فهرست کاری خود، یک فایل با نام chat_membership_app_create.py ایجاد کنید.
  2. کد زیر را در 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. در کد، SPACE با یک نام فاصله جایگزین کنید، که می توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_membership_app_create.py
    

Node.js

  1. در پوشه کاری خود، یک فایل با نام add-app-to-space.js ایجاد کنید.
  2. کد زیر را در 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. در کد، SPACE با یک نام فاصله جایگزین کنید، که می توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

  4. در پوشه کاری خود، نمونه را اجرا کنید:

    node add-app-to-space.js
    

Chat API نمونه‌ای از membership را برمی‌گرداند که عضویت برنامه ایجاد شده را جزئیات می‌دهد.