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

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

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

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

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

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

پیش نیازها

پایتون

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

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

Node.js

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

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

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

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

  • محدوده مجوز 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 به فضا اضافه کنید.
  • برای ایجاد 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 people and app 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'
                  }
                }
            ]
          }
    
          ).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'}},
          ]
        }
      });
    }
    
    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 .