یک فضا را به روز کنید

این راهنما نحوه استفاده از روش patch را در منبع Space API Google Chat برای به‌روزرسانی یک فضا توضیح می‌دهد. برای تغییر ویژگی‌های یک فضا، مانند نام نمایشی قابل مشاهده توسط کاربر، توضیحات و دستورالعمل‌ها، یک فاصله را به‌روزرسانی کنید.

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

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

پیش نیازها

پایتون

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

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

یک فضا را به روز کنید

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

  • محدوده مجوز chat.spaces مشخص کنید.
  • متد patch در منبع Space را فراخوانی کنید و name فضا را برای به‌روزرسانی و همچنین یک updateMask و body که ویژگی‌های فضای به‌روز شده را مشخص می‌کند، ارسال کنید.
  • updateMask جنبه های فضایی را برای به روز رسانی مشخص می کند و شامل موارد زیر است:
    • displayName : نام قابل خواندن فضای نمایش داده شده در رابط کاربری Google Chat را به روز می کند. فقط از تغییر نام نمایشی یک فاصله با نوع SPACE یا زمانی که ماسک spaceType را برای تغییر نوع فضای GROUP_CHAT به SPACE نیز درج می کند، پشتیبانی می کند. تلاش برای به روز رسانی نام نمایشی یک فضای GROUP_CHAT یا DIRECT_MESSAGE منجر به خطای آرگومان نامعتبر می شود.
    • spaceType : نوع فضا را به روز می کند، اما فقط از تغییر نوع فضای GROUP_CHAT به SPACE پشتیبانی می کند. displayName همراه با spaceType در ماسک به‌روزرسانی قرار دهید و اطمینان حاصل کنید که فضای مشخص‌شده دارای یک displayName غیرخالی و نوع فضای SPACE باشد. اگر فضای موجود از قبل دارای نوع SPACE باشد، از جمله ماسک spaceType و نوع SPACE در فضای مشخص شده هنگام به‌روزرسانی نام نمایشی اختیاری است. تلاش برای به روز رسانی نوع فاصله به روش های دیگر منجر به خطای آرگومان نامعتبر می شود.
    • spaceDetails : جزئیات مربوط به فضا شامل توضیحات و قوانین.
    • spaceHistoryState : در صورتی که سازمان به کاربران اجازه دهد تنظیمات تاریخچه خود را تغییر دهند، از روشن یا خاموش کردن تاریخچه برای فضا پشتیبانی می کند. متقابل با تمام مسیرهای میدانی دیگر.

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

پایتون

  1. در پوشه کاری خود، فایلی با نام chat_space_update.py ایجاد کنید.
  2. کد زیر را در chat_space_update.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"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then updates the specified space description and guidelines.
        '''
    
        # 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().patch(
    
          # The space to update, and the updated space details.
          #
          # 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',
          updateMask='spaceDetails',
          body={
    
            'spaceDetails': {
              'description': 'This description was updated with Chat API!',
              'guidelines': 'These guidelines were updated with Chat API!'
            }
    
          }
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. در کد، SPACE با یک نام فاصله جایگزین کنید، که می توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_space_update.py
    

Node.js

  1. در پوشه کاری خود، یک فایل با نام update-space.js ایجاد کنید.
  2. کد زیر را در update-space.js قرار دهید:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Updates a Chat space with the description and guidelines.
    * @return {!Promise<!Object>}
    */
    async function updateSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.patch({
        name: 'spaces/SPACE',
        updateMask: 'spaceDetails',
        requestBody: {
          spaceDetails: {
            description: 'This description was updated with Chat API!',
            guidelines: 'These guidelines were updated with Chat API!'
          },
        }
      });
    }
    
    updateSpace().then(console.log);
    
  3. در کد، SPACE با یک نام فاصله جایگزین کنید، که می توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

  4. در پوشه کاری خود، نمونه را اجرا کنید:

    node update-space.js
    

Google Chat API نمونه‌ای از منبع Space را برمی‌گرداند که به‌روزرسانی‌ها را منعکس می‌کند.