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

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

منبع SpaceEvent نشان‌دهنده تغییر در یک فضا یا منابع فرزند آن، مانند پیام‌ها، واکنش‌ها و عضویت‌ها است. برای آشنایی با انواع رویدادهای پشتیبانی شده، به قسمت eventType در اسناد مرجع منبع SpaceEvent مراجعه کنید.

شما می توانید رویدادها را حداکثر تا 28 روز قبل از زمان درخواست درخواست کنید. این رویداد حاوی جدیدترین نسخه منبعی است که تغییر کرده است. به عنوان مثال، اگر رویدادی را درباره یک پیام جدید درخواست کنید اما پیام بعداً به‌روزرسانی شد، سرور منبع Message به‌روز شده را در بارگذاری رویداد برمی‌گرداند.

برای فراخوانی این روش، باید از احراز هویت کاربر استفاده کنید. برای دریافت یک رویداد، کاربر احراز هویت شده باید عضوی از فضایی باشد که رویداد در آن رخ داده است.

پیش نیازها

پایتون

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

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

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

برای دریافت جزئیات درباره SpaceEvent در Google Chat، موارد زیر را انجام دهید:

  • متد get را در منبع SpaceEvent فراخوانی کنید.
  • برای دریافت name SpaceEvent را ارسال کنید. نام SpaceEvent را از منبع SpaceEvent Google Chat دریافت کنید.
  • با احراز هویت کاربر ، محدوده مجوزی را مشخص کنید که از نوع رویداد در درخواست شما پشتیبانی می کند. به عنوان بهترین روش، محدودترین محدوده را انتخاب کنید که همچنان به برنامه شما اجازه عملکرد می دهد.

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

پایتون

  1. در پوشه کاری خود، فایلی با نام chat_space_event_get.py ایجاد کنید.
  2. کد زیر را در chat_space_event_get.py قرار دهید:

    """Gets a SpaceEvent resource from the Chat API."""
    
    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 = ['SCOPE']
    
    # 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()
        .spaceEvents()
        .get(
            # The space event 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.
            #
            # Replace SPACE_EVENT with a SpaceEvent name.
            # Obtain the spaceEvent name from the SpaceEvent resource of
            # Chat API.
            name='spaces/SPACE/spaceEvents/SPACE_EVENT'
        )
        .execute()
    )
    
    # Prints details about the created spaceEvent.
    print(result)
    
  3. در کد زیر را جایگزین کنید:

    • SCOPE : یک محدوده مجوز بر اساس نوع رویداد. برای مثال، اگر یک رویداد فضایی درباره عضویت جدید دریافت می‌کنید، از محدوده chat.memberships.readonly با قالب‌بندی https://www.googleapis.com/auth/chat.memberships.readonly استفاده کنید. می توانید نوع رویداد را از روش spaces.spaceEvents.list بدست آورید. برای یادگیری نحوه استفاده از این روش، فهرست رویدادها را از یک فاصله ببینید.
    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.
    • SPACE_EVENT : نام رویداد فضایی که می توانید از روش spaces.spaceEvents.list دریافت کنید.
  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_space_event_get.py
    

Chat API نمونه ای از SpaceEvent را با جزئیات مربوط به رویداد برمی گرداند.