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

این راهنما نحوه استفاده از روش setup در منبع Space Google Chat API را برای راه‌اندازی فضای Google Chat توضیح می‌دهد. راه اندازی یک فضا یک فضا ایجاد می کند و کاربران مشخصی را به آن اضافه می کند.

منبع Space مکانی را نشان می‌دهد که در آن افراد و برنامه‌های چت می‌توانند پیام ارسال کنند، فایل‌ها را به اشتراک بگذارند و با هم همکاری کنند. چند نوع فضا وجود دارد:

  • پیام‌های مستقیم (DM) مکالمات بین دو کاربر یا یک کاربر و یک برنامه چت هستند.
  • چت گروهی مکالمه بین سه یا چند کاربر و برنامه های چت است.
  • فضاهای نام‌گذاری شده مکان‌هایی هستند که افراد در آن پیام می‌فرستند، فایل‌ها را به اشتراک می‌گذارند و همکاری می‌کنند.

هنگام تنظیم یک فضا، موارد زیر را در نظر بگیرید:

  • کاربر تماس گیرنده (تایید شده) به طور خودکار به فضا اضافه می شود، بنابراین نیازی نیست عضویت کاربر را در درخواست مشخص کنید.
  • هنگام ایجاد یک پیام مستقیم (DM)، اگر یک DM بین دو کاربر وجود داشته باشد، آن DM برگردانده می شود. در غیر این صورت یک DM ایجاد می شود.
  • هنگام ایجاد یک چت گروهی، اگر هیچ یک از عضویت های ارائه شده در درخواست با موفقیت به گپ گروهی اضافه نشود (به عنوان مثال، مشکل مجوز)، ممکن است یک چت گروهی خالی (شامل تنها کاربر تماس گیرنده) ایجاد شود.
  • نمی‌توانید فضاهایی را با پاسخ‌های رشته‌ای تنظیم کنید یا افرادی را خارج از Google Workspace خود اضافه کنید.
  • عضویت های تکراری (از جمله کاربر تماس گیرنده) ارائه شده در درخواست به جای اینکه منجر به خطای درخواست شود، فیلتر می شوند.

پیش نیازها

پایتون

Node.js

فضایی را تنظیم کنید

برای تنظیم فضا، موارد زیر را در درخواست خود بنویسید:

  • محدوده مجوز chat.spaces.create یا chat.spaces را مشخص کنید.
  • متد setup را در منبع Space فراخوانی کنید.
  • برای افزودن یک کاربر انسانی به‌عنوان عضو فضایی، users/{user} مشخص کنید، جایی که {user} یا {person_id} برای person از People API یا شناسه یک user در Directory API است. برای مثال، اگر People API person resourceName people/123456789 باشد، می‌توانید کاربر را با عضویت با users/123456789 به‌عنوان member.name .name به فضا اضافه کنید.
  • برای افزودن یک گروه به عنوان عضو فضایی، groups/{group} را مشخص کنید، جایی که {group} شناسه گروهی است که می‌خواهید برای آن عضویت ایجاد کنید. شناسه گروه را می توان با استفاده از Cloud Identity API بازیابی کرد. به عنوان مثال، اگر Cloud Identity API گروهی را با نام groups/123456789 برمی گرداند، سپس membership.groupMember.name را روی groups/123456789 تنظیم کنید. Google Groups را نمی توان به یک چت گروهی یا DM اضافه کرد، بلکه فقط به یک فضای نامگذاری شده اضافه می شود.
  • برای ایجاد DM بین کاربر تماس گیرنده و کاربر انسانی دیگر، عضویت کاربر انسانی را در درخواست خود مشخص کنید.
  • برای ایجاد DM بین کاربر تماس گیرنده و برنامه تماس گیرنده، Space.singleUserBotDm را روی true تنظیم کنید و هیچ عضویتی را مشخص نکنید. شما فقط می توانید از این روش برای تنظیم DM با برنامه تماس استفاده کنید. برای افزودن برنامه تماس به عنوان عضوی از یک فضا یا یک DM موجود بین دو کاربر انسانی، به ایجاد عضویت مراجعه کنید.

مثال زیر یک فضای نامگذاری شده ایجاد می کند و برای یک گروه و سه کاربر انسانی (شامل کاربر تایید شده و دو کاربر مشخص شده دیگر) عضویت در فضا ایجاد می کند.

پایتون

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

    python3 chat_space_setup.py

Node.js

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

    node setup-space.js

یک فضای چت نامگذاری شده با یک گروه و سه کاربر انسانی از جمله کاربر تأیید شده تنظیم شده است.

برای رفتن به فضا، از شناسه منبع فضا برای ساخت URL فضا استفاده کنید. می‌توانید شناسه منبع را از name فضا در بدنه پاسخ Google Chat دریافت کنید. برای مثال، اگر name فضای شما spaces/1234567 است، می‌توانید با استفاده از URL زیر به فضا بروید: https://mail.google.com/chat/u/0/#chat/space/1234567 .