این راهنما نحوه استفاده از روش 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
با احراز هویت کاربر آورده شده است:
پایتون
- در پوشه کاری خود، فایلی با نام
chat_space_event_get.py
ایجاد کنید. کد زیر را در
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)
در کد زیر را جایگزین کنید:
-
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
دریافت کنید.
-
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_space_event_get.py
Chat API نمونه ای از SpaceEvent
را با جزئیات مربوط به رویداد برمی گرداند.