این راهنما نحوه استفاده از روش get
را در منبع Message
Google Chat API برای بازگرداندن جزئیات یک پیام متنی یا کارتی توضیح میدهد.
در Chat API، یک پیام Chat توسط منبع Message
نمایش داده می شود. در حالی که کاربران چت فقط میتوانند پیامهایی ارسال کنند که حاوی متن هستند، برنامههای چت میتوانند از بسیاری از ویژگیهای پیامرسانی دیگر، از جمله نمایش رابطهای کاربری استاتیک یا تعاملی، جمعآوری اطلاعات از کاربران، و ارسال پیامها به صورت خصوصی استفاده کنند. برای اطلاعات بیشتر درباره ویژگیهای پیامرسانی موجود برای Chat API، به نمای کلی پیامهای گپ Google مراجعه کنید.
پیش نیازها
پایتون
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- کتابخانه Google API Client Python را نصب کنید.
- اعتبارنامه دسترسی را بر اساس نحوه احراز هویت در درخواست Google Chat API خود ایجاد کنید:
- برای احراز هویت به عنوان کاربر چت، اعتبارنامه های شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
client_secrets.json
در فهرست محلی خود ذخیره کنید. - برای احراز هویت بهعنوان برنامه چت، اعتبار حساب سرویس ایجاد کنید و اعتبارنامهها را بهعنوان فایل JSON با نام
credentials.json
ذخیره کنید.
- برای احراز هویت به عنوان کاربر چت، اعتبارنامه های شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
- بر اساس اینکه میخواهید بهعنوان کاربر یا برنامه چت احراز هویت کنید ، محدوده مجوز را انتخاب کنید .
دریافت پیام با احراز هویت کاربر
برای دریافت جزئیات یک پیام با احراز هویت کاربر ، موارد زیر را در درخواست خود ارسال کنید:
- محدوده مجوز
chat.messages.readonly
یاchat.messages
را مشخص کنید. - روش
get
را در منبعMessage
فراخوانی کنید. -
name
به نام منبع پیام برای دریافت تنظیم کنید.
مثال زیر پیامی با احراز هویت کاربر دریافت می کند:
پایتون
- در پوشه کاری خود، یک فایل با نام
chat_message_get_user.py
ایجاد کنید. کد زیر را در
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 message. print(result) if __name__ == '__main__': main()
در کد زیر را جایگزین کنید:
-
SPACE
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید. -
MESSAGE
: نام پیامی است که می توانید آن را از بدنه پاسخی که پس از ایجاد پیام به طور ناهمزمان با Chat API یا با نام سفارشی اختصاص داده شده به پیام در هنگام ایجاد، بازگردانده شده است، دریافت کنید.
-
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_message_get_user.py
Chat API نمونهای از Message
را برمیگرداند که جزئیات پیام مشخصشده را نشان میدهد.
با احراز هویت برنامه پیامی دریافت کنید
برای دریافت جزئیات پیام با احراز هویت برنامه ، موارد زیر را در درخواست خود ارسال کنید:
- محدوده مجوز
chat.bot
را مشخص کنید. - روش
get
را در منبعMessage
فراخوانی کنید. -
name
به نام منبع پیام برای دریافت تنظیم کنید.
مثال زیر پیامی با احراز هویت برنامه دریافت می کند:
پایتون
- در فهرست کاری خود، فایلی با نام
chat_get_message_app.py
ایجاد کنید. کد زیر را در
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)
در کد زیر را جایگزین کنید:
SPACE
:name
فضایی که پیام در آن پست می شود، که می توانید آن را از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.MESSAGE
: نام پیام، که می توانید از بدنه پاسخی که پس از ایجاد پیام به طور ناهمزمان با Chat API یا با نام سفارشی اختصاص داده شده به پیام در هنگام ایجاد، بازگردانده شده است، دریافت کنید.
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_get_message_app.py
Chat API نمونهای از Message
را برمیگرداند که پیام مشخصشده را جزئیات میدهد.
موضوعات مرتبط
- یک پیام را قالب بندی کنید .
- یک پیام را حذف کنید .
- لیست پیام ها در یک فاصله
- یک پیام را به روز کنید .
- پیام بدید .