دریافت فراداده در مورد پیوست پیام

این راهنما نحوه استفاده از روش get را در منبع Media Google Chat API برای دریافت فراداده در مورد پیوست پیام توضیح می دهد. پاسخ نمونه ای از منبع Attachment است.

وقتی کاربر پیامی به برنامه شما ارسال می‌کند، Google Chat یک رویداد تعاملی MESSAGE را ارسال می‌کند. رویداد تعاملی که توسط برنامه شما دریافت می‌شود شامل یک بدنه درخواست است، که بار JSON نشان‌دهنده رویداد تعامل، از جمله هر پیوستی است. بسته به اینکه پیوست محتوای آپلود شده (فایل محلی) یا فایل ذخیره شده در Drive باشد، داده های پیوست متفاوت است. منبع Media فایلی را نشان می‌دهد که در چت Google آپلود شده است، مانند تصاویر، ویدیوها و اسناد. منبع Attachment نمونه ای از رسانه – یک فایل – را نشان می دهد که به یک پیام پیوست شده است. منبع Attachment شامل فراداده مربوط به پیوست است، مانند محل ذخیره آن.

پیش نیازها

پایتون

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

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

یک پیوست پیام دریافت کنید

برای دریافت ناهمزمان فراداده مربوط به پیوست پیام در گپ Google، موارد زیر را در درخواست خود ارسال کنید:

در اینجا نحوه دریافت فراداده در مورد پیوست پیام آمده است:

پایتون

  1. در پوشه کاری خود، یک فایل با نام chat_get_message_attachment.py ایجاد کنید.
  2. کد زیر را در chat_get_message_attachment.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)
    
    # Get a Chat message.
    result = chat.spaces().messages().attachments().get(
    
        # The message 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 MESSAGE with a message name.
        # Obtain the message name from the response body returned
        # after creating a message asynchronously with Chat REST API.
        name='spaces/SPACE/messages/MESSAGE/attachments/ATTACHMENT'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. در کد، spaces/ SPACE /messages/ MESSAGE /attachments/ ATTACHMENT با نام پیوست پیام جایگزین کنید.

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

    python3 chat_get_message_attachment.py
    

Chat API نمونه‌ای از Attachment برمی‌گرداند که فراداده مربوط به پیوست پیام مشخص شده را جزئیات می‌دهد.