دریافت جزئیات در مورد یک پیام

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

منبع Message یک پیام متنی یا کارتی را در Google Chat نشان می دهد. می‌توانید با فراخوانی روش‌های مربوطه، پیامی را در Google Chat API create ، get ، update یا delete . برای کسب اطلاعات بیشتر درباره پیام‌های نوشتاری و کارتی، به نمای کلی پیام‌های گپ Google مراجعه کنید.

پیش نیازها

پایتون

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

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

    • احراز هویت کاربر ، با محدوده مجوز chat.messages.readonly یا chat.messages ، می تواند پیام هایی را دریافت کند که کاربر به آنها دسترسی دارد.
    • احراز هویت برنامه ، با محدوده مجوز chat.bot ، می‌تواند پیام‌هایی را که به برنامه ارسال شده است دریافت کند.

دریافت پیام با احراز هویت کاربر

برای دریافت جزئیات یک پیام با احراز هویت کاربر ، موارد زیر را در درخواست خود ارسال کنید:

  • محدوده مجوز chat.messages.readonly یا chat.messages مشخص کنید.
  • روش get را در منبع Message فراخوانی کنید.
  • name به نام منبع پیام برای دریافت تنظیم کنید.

مثال زیر پیامی با احراز هویت کاربر دریافت می کند:

پایتون

  1. در پوشه کاری خود، فایلی با نام chat_message_get_user.py ایجاد کنید.
  2. کد زیر را در chat_message_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.messages.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets a message.
        '''
    
        # 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().messages().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'
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. در کد زیر را جایگزین کنید:

    • SPACE : نام فضایی است که می توانید از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.
    • MESSAGE : نام پیامی است که می توانید آن را از بدنه پاسخی که پس از ایجاد پیام به طور ناهمزمان با Chat API یا با نام سفارشی اختصاص داده شده به پیام در هنگام ایجاد، بازگردانده شده است، دریافت کنید.
  4. در پوشه کاری خود، نمونه را بسازید و اجرا کنید:

    python3 chat_message_get_user.py
    

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

با احراز هویت برنامه پیامی دریافت کنید

برای دریافت جزئیات پیام با احراز هویت برنامه ، موارد زیر را در درخواست خود ارسال کنید:

  • محدوده مجوز chat.bot مشخص کنید.
  • روش get را در منبع Message فراخوانی کنید.
  • name به نام منبع پیام برای دریافت تنظیم کنید.

مثال زیر پیامی با احراز هویت برنامه دریافت می کند:

پایتون

  1. در فهرست کاری خود، فایلی با نام chat_get_message_app.py ایجاد کنید.
  2. کد زیر را در chat_get_message_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)
    
    # Get a Chat message.
    result = chat.spaces().messages().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'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. در کد زیر را جایگزین کنید:

    • SPACE : name فضایی که پیام در آن پست می شود، که می توانید آن را از روش spaces.list در Chat API یا از URL یک فضا دریافت کنید.

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

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

    python3 chat_get_message_app.py
    

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