دعوة مستخدم أو "مجموعة Google" أو تطبيق Google Chat إلى مساحة أو إضافتهم

يشرح هذا الدليل كيفية استخدام طريقة create على المرجع membership. Google Chat API لدعوة أو إضافة مستخدم أو "مجموعة Google" تطبيق Chat على مساحة تُعرف أيضًا باسم إنشاء العضوية. عند إنشاء عضوية، إذا كان العضو المحدد لديه تم إيقاف سياسة القبول التلقائي، ثم تتم دعوتهم، ويجب أن يقبلوا المساحة دعوة قبل الانضمام. بخلاف ذلك، يؤدي إنشاء عضوية إلى إضافة العضو مباشرةً إلى المساحة المحددة.

تشير رسالة الأشكال البيانية مرجع Membership يمثِّل ما إذا تمت دعوة مستخدِم أو تطبيق Google Chat إلى أو جزء منها أو غير موجود فيه.

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

Python

  • Python 3.6 أو أعلى
  • النافذة ضمن النافذة أداة إدارة الحِزم
  • أحدث مكتبات برامج Google للغة بايثون. لتثبيت التطبيقات أو تحديثها، شغّل الأمر التالي في واجهة سطر الأوامر:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • مشروع على Google Cloud مع تفعيل وإعداد Google Chat API لمعرفة الخطوات، يُرجى الاطّلاع على إنشاء تطبيق Google Chat
  • تم ضبط التفويض لتطبيق Chat. قيد الإنشاء تتطلب العضوية مصادقة المستخدم باستخدام نطاق تفويض chat.memberships أو chat.memberships.app.

Node.js

  • Node.js & عدد النبضات في الدقيقة
  • أحدث مكتبات برامج Google لنظام Node.js. لتثبيتها، شغّل التالي في واجهة سطر الأوامر:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • مشروع على Google Cloud مع تفعيل وإعداد Google Chat API لمعرفة الخطوات، يُرجى الاطّلاع على إنشاء تطبيق Google Chat
  • تم ضبط التفويض لتطبيق Chat. قيد الإنشاء تتطلب العضوية مصادقة المستخدم باستخدام نطاق تفويض chat.memberships أو chat.memberships.app.

دعوة مستخدم إلى مساحة أو إضافته

لدعوة مستخدم أو إضافته إلى مساحة، عليك تمرير ما يلي في الطلب:

  • حدِّد نطاق تفويض chat.memberships.
  • عليك استدعاء طريقة create في صفحة مرجع واحد (membership)
  • اضبط parent على اسم مورد المساحة التي تريد إنشاء العضوية فيها.
  • يُرجى ضبط member على users/{user} حيث يكون {user} هو المستخدم الذي تريده. إنشاء عضوية لها، وتكون إما:
    • رقم تعريف شخص في واجهة برمجة تطبيقات "الأشخاص" على سبيل المثال، إذا كانت واجهة برمجة تطبيقات "الأشخاص" شخص قيمة resourceName هي people/123456789، ثم ضبط membership.member.name إلى users/123456789.
    • رقم تعريف المستخدم في واجهة برمجة التطبيقات للدليل.
    • عنوان البريد الإلكتروني للمستخدِم. على سبيل المثال، users/222larabrown@gmail.com أو users/larabrown@cymbalgroup.com إذا كان المستخدم يستخدم حساب Google أو ينتمي إلى مؤسسة Google Workspace مختلفة، عليك استخدام بريدك الإلكتروني.

يضيف المثال التالي مستخدمًا إلى مساحة:

Python

  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 مثيلاً من membership يوضح بالتفصيل عضوية المستخدم التي تم إنشاؤها.

دعوة "مجموعة Google" أو إضافتها إلى مساحة

لدعوة مجموعة Google أو إضافتها إلى مساحة، عليك إدخال ما يلي في الطلب:

  • حدِّد نطاق تفويض chat.memberships.
  • عليك استدعاء طريقة create في صفحة مرجع واحد (membership)
  • اضبط parent على اسم مورد المساحة التي تريد إنشاء العضوية فيها.
  • ضبط groupMember على groups/{group} حيث يكون {group} هو رقم تعريف المجموعة الذي التي تريد إنشاء عضوية لها. ويمكن استرداد معرّف المجموعة باستخدام واجهة برمجة تطبيقات Cloud Identity: على سبيل المثال، إذا كانت واجهة Cloud Identity API مجموعة باسم groups/123456789، ثم يتم تعيينها من membership.groupMember.name إلى groups/123456789.

لا يمكن إضافة "مجموعات Google" إلى محادثة جماعية أو رسالة مباشرة، ولكن فقط إلى باسم المساحة. يضيف المثال التالي مجموعة إلى مساحة مُعنوَنة:

Python

  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 مثيلاً من membership يوضح بالتفصيل عضوية المجموعة التي تم إنشاؤها.

إضافة تطبيق Chat إلى مساحة

لا يمكن لتطبيق Chat إضافة تطبيق آخر كعضو إلى تطبيق Chat. مساحة. لإضافة تطبيق Chat إلى مساحة أو رسالة مباشرة بين مستخدمَين، أدخِل ما يلي في طلبك:

  • حدِّد نطاق تفويض chat.memberships.app.
  • عليك استدعاء طريقة create في مرجع membership.
  • اضبط parent على اسم مورد المساحة التي تريد إنشاء العضوية فيها.
  • ضبط member على users/app اسمًا مستعارًا يمثل التطبيق الذي يستدعي واجهة برمجة التطبيقات Chat

يضيف المثال التالي تطبيق Chat إلى مساحة:

Python

  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 مثيلاً من membership يوضح بالتفصيل اشتراك التطبيق الذي تم إنشاؤه.