الحصول على تفاصيل حول مساحة

يشرح هذا الدليل كيفية استخدام طريقة get على مورد Space الخاص بـ Google Chat API للاطّلاع على تفاصيل حول مساحة، مثل اسمها المعروض ووصفها والإرشادات.

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

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

المصادقة مع مصادقة التطبيقات يسمح لتطبيق Chat بالحصول على مساحات بإمكان تطبيق Chat الوصول إلى التطبيق في Google Chat (على سبيل المثال، المساحات التي يكون التطبيق عضوًا فيها). المصادقة مع مصادقة المستخدم يتيح لك الحصول على مساحات يمكن للمستخدم الذي تمت مصادقته الوصول إليها.

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

Python

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

Node.js

الحصول على مساحة

للحصول على مساحة في Google Chat، عليك تمرير ما يلي في الطلب:

الحصول على تفاصيل المساحة من خلال مصادقة المستخدم

إليك كيفية الحصول على تفاصيل المساحة باستخدام مصادقة المستخدم:

Python

  1. في دليل العمل، أنشِئ ملفًا باسم "chat_space_get_user.py".
  2. أدرِج الرمز التالي في chat_space_get_user.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.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about a specified 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().get(
    
              # The space to get.
              #
              # Replace SPACE with a space name.
              # Obtain the space name from the spaces resource of Chat API,
              # or from a space's URL.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. في الرمز، استبدِل SPACE باسم مساحة التي يمكنك الحصول عليها من طريقة واحدة (spaces.list) في Chat API أو من عنوان URL للمساحة.

  4. في دليل العمل، أنشئ النموذج وشغِّله:

    python3 chat_space_get_user.py
    

Node.js

  1. في دليل العمل، أنشِئ ملفًا باسم "get-space.js".
  2. أدرِج الرمز التالي في get-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. في الرمز، استبدِل SPACE باسم مساحة التي يمكنك الحصول عليها من طريقة واحدة (spaces.list) في Chat API أو من عنوان URL للمساحة.

  4. في دليل العمل، شغِّل النموذج:

    node get-space.js
    

تعرض واجهة برمجة التطبيقات Chat مثيلاً من Space الذي يفصّل المساحة المحدّدة.

الحصول على تفاصيل المساحة من خلال مصادقة التطبيقات

إليك كيفية الحصول على تفاصيل المساحة باستخدام مصادقة التطبيقات:

Python

  1. في دليل العمل، أنشِئ ملفًا باسم "chat_space_get_app.py".
  2. أدرِج الرمز التالي في chat_space_get_app.py:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().get(
    
        # The space to get.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        name='spaces/SPACE'
    
    ).execute()
    
    print(result)
    
  3. في الرمز، استبدِل SPACE باسم مساحة التي يمكنك الحصول عليها من spaces.list() في واجهة برمجة التطبيقات Chat أو من عنوان URL للمساحة.

  4. في دليل العمل، أنشئ النموذج وشغِّله:

    python3 chat_space_get_app.py
    

Node.js

  1. في دليل العمل، أنشِئ ملفًا باسم "app-get-space.js".
  2. أدرِج الرمز التالي في app-get-space.js:

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. في الرمز، استبدِل SPACE باسم مساحة التي يمكنك الحصول عليها من طريقة واحدة (spaces.list) في Chat API أو من عنوان URL للمساحة.

  4. في دليل العمل، شغِّل النموذج:

    node app-get-space.js
    

تعرض واجهة برمجة التطبيقات Chat مثيلاً من Space يوضح بالتفصيل المساحة المحددة.