إعداد مساحة تضم الأعضاء الأوليين

يشرح هذا الدليل كيفية استخدام طريقة setup على مورد Space الخاص بـ Google Chat API لإعداد مساحة في Google Chat يؤدي إعداد مساحة إلى إنشاء مساحة وإضافة مستخدمين محددين إليها.

تشير رسالة الأشكال البيانية مرجع Space يمثّل مكانًا يمكن فيه للمستخدمين والتطبيقات في Chat إرسال رسائل ومشاركتها والتعاون. تتوفّر عدة أنواع من المساحات:

  • الرسائل المباشرة هي محادثات بين مستخدمين أو مستخدم تطبيق Chat.
  • الدردشات الجماعية هي محادثات بين ثلاثة مستخدمين أو أكثر تطبيقات Chat
  • المساحات المُعنونة هي أماكن دائمة يرسل من خلالها المستخدمون الرسائل ويشاركون الملفات والتعاون.

عند إعداد مساحة، يجب مراعاة ما يلي:

  • تتم إضافة المستخدم الذي يتصل (تمت مصادقته) تلقائيًا إلى المساحة، وبالتالي يمكنك لا تحتاج إلى تحديد عضوية المستخدم في الطلب.
  • عند إنشاء رسالة مباشرة (DM) أو إذا كانت هناك رسالة مباشرة بين مستخدمين: ثم يتم إرجاع الرسالة المباشرة. وبخلاف ذلك، يتم إنشاء رسالة مباشرة.
  • عند إنشاء محادثة جماعية، في حال عدم توفّر أي من العضويات في الطلب تتم إضافتها بنجاح إلى المحادثة الجماعية (على سبيل المثال، مشكلة في الإذن)، ثم قد يتم إنشاء محادثة جماعية فارغة (بما في ذلك المستخدم المتصل فقط).
  • لا يمكنك إعداد مساحات تتضمن ردودًا في سلاسل منفصلة أو إضافة مستخدمين من خارج Google Workspace
  • تم تقديم اشتراكات مكرّرة (بما في ذلك المستخدم المتصل) في الطلب. بدلاً من أن ينتج عنها خطأ في الطلب.

المتطلبات الأساسية

Python

  • Python 3.6 أو أعلى
  • أداة إدارة حزم pip
  • أحدث مكتبات عملاء Google. لتثبيت التطبيقات أو تحديثها، قم بتشغيل الأمر التالي في واجهة سطر الأوامر:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Node.js

إعداد مساحة

لإعداد مساحة، أدخِل ما يلي في طلبك:

  • حدِّد نطاق التفويض chat.spaces.create أو chat.spaces.
  • عليك استدعاء طريقة setup في مرجع Space.
  • لإضافة مستخدم بشري كعضو في المساحة، حدِّد users/{user} حيث {user}. هي إما {person_id} person من People API أو من معرّف user في واجهة برمجة التطبيقات للدليل. فعلى سبيل المثال، إذا كان الشخص الذي يستخدم واجهة برمجة تطبيقات "الأشخاص" resourceName هي people/123456789. يمكنك إضافة المستخدم إلى المساحة من خلال بما في ذلك عضوية في قناة "users/123456789" باعتبارها member.name.
  • لإضافة مجموعة كعضو في المساحة، حدِّد groups/{group} حيث تكون {group} معرّف المجموعة التي تريد إنشاء عضوية لها. يمكن أن يساعدك معرف المجموعة استردادها باستخدام Cloud Identity API. على سبيل المثال، إذا كانت واجهة Cloud Identity API مجموعة باسم groups/123456789، ثم يتم تعيينها من membership.groupMember.name إلى groups/123456789. يتعذر إجراء ذلك على "مجموعات Google" إضافتها إلى محادثة جماعية أو رسالة مباشرة، ولكن إلى مساحة مُعنوَنة فقط
  • لإنشاء رسالة مباشرة بين المستخدم المتصل ومستخدم آخر المستخدم، يُرجى تحديد عضوية المستخدم البشري في طلبك.
  • لإنشاء رسالة مباشرة بين المستخدم الذي يتصل بتطبيقك وتطبيق الاتصال، عليك ضبط من Space.singleUserBotDm إلى true بدون تحديد أي عضويات. يمكنك يمكنك استخدام هذه الطريقة فقط لإعداد رسالة مباشرة باستخدام تطبيق إجراء المكالمات. لإضافة إجراء الاتصال بصفتك عضوًا في مساحة أو رسالة مباشرة حالية بين مستخدمَين، يمكنك الاطّلاع على إنشاء اشتراك

ينشئ المثال التالي مساحة مُعنوَنة وينشئ عضويات في المساحة. لمجموعة واحدة وثلاثة مستخدمين (بما في ذلك المستخدم الذي تمت المصادقة عليه ومستخدمان مستخدمين محددين آخرين).

Python

  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