جزئیات یک فضا را دریافت کنید

این راهنما نحوه استفاده از روش get را در یک منبع Space در Google Chat API برای دیدن جزئیات یک فضا، مانند نام نمایشی، توضیحات و دستورالعمل‌های آن توضیح می‌دهد.

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

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

احراز هویت با احراز هویت برنامه به برنامه Chat اجازه می‌دهد فضاهایی را که برنامه Chat به آن‌ها در Google Chat دسترسی دارد (مثلاً فضاهایی که برنامه عضو آن است) دریافت کند. احراز هویت با احراز هویت کاربر به شما امکان می دهد فضاهایی را که کاربر احراز هویت شده به آنها دسترسی دارد، دریافت کنید.

پیش نیازها

پایتون

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

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

Node.js

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

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

فضا بگیر

برای دریافت فضایی در Google Chat، موارد زیر را در درخواست خود ارسال کنید:

جزئیات فضا را با احراز هویت کاربر دریافت کنید

در اینجا نحوه دریافت جزئیات فضا با احراز هویت کاربر آورده شده است:

پایتون

  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 API نمونه‌ای از Space را برمی‌گرداند که فضای مشخص‌شده را جزئیات می‌دهد.

جزئیات فضا را با احراز هویت برنامه دریافت کنید

در اینجا نحوه دریافت جزئیات فضا با تأیید اعتبار برنامه آمده است:

پایتون

  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 API یا از 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 API نمونه‌ای از Space را برمی‌گرداند که فضای مشخص‌شده را جزئیات می‌دهد.