این راهنما نحوه استفاده از روش list
را در منبع SpaceEvent
در Google Chat API برای فهرست کردن تغییرات منابع در یک فضا توضیح میدهد.
منبع SpaceEvent
نشاندهنده تغییر در فضای هدف، از جمله منابع فرزند فضا مانند پیامها، واکنشها و عضویتها است. برای اطلاعات بیشتر در مورد لیست انواع رویداد و بارهای رویداد پشتیبانی شده، به فیلدهای eventType
و payload
در اسناد مرجع منبع SpaceEvent
مراجعه کنید.
شما می توانید رویدادها را تا 28 روز قبل از زمان درخواست لیست کنید. سرور رویدادهایی را برمی گرداند که حاوی جدیدترین نسخه منبع آسیب دیده هستند. برای مثال، اگر رویدادهای مربوط به اعضای جدید فضایی را فهرست کنید، سرور منابع Membership
را که حاوی آخرین جزئیات عضویت است، برمیگرداند. اگر اعضای جدید در طول دوره درخواستی حذف شوند، بار رویداد حاوی یک منبع Membership
خالی است.
برای فراخوانی این روش، باید از احراز هویت کاربر استفاده کنید. برای فهرست کردن رویدادها از یک فضا، کاربر احراز هویت شده باید عضوی از فضا باشد.
پیش نیازها
پایتون
- پایتون 3.6 یا بالاتر
- ابزار مدیریت بسته پیپ
جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- یک پروژه Google Cloud با Google Chat API فعال و پیکربندی شده است. برای مراحل، به ساخت برنامه گپ Google مراجعه کنید.
مجوز برای برنامه چت پیکربندی شد. فهرست منابع
SpaceEvent
از روشهای احراز هویت زیر پشتیبانی میکند:- احراز هویت کاربر : به یک محدوده نیاز دارد که از انواع رویداد درخواستی پشتیبانی کند. برای شناسایی یک محدوده، محدوده ها بر اساس نوع رویداد را ببینید.
فهرست رویدادهای فضایی
برای فهرست کردن رویدادهای فضایی از فضای چت، موارد زیر را انجام دهید:
- متد
list
را در منبعSpaceEvent
فراخوانی کنید. - با استفاده از فیلد
filter
، انواع رویدادها را مشخص کنید. شما باید حداقل یک نوع رویداد را مشخص کنید، و همچنین می توانید بر اساس تاریخ فیلتر کنید. برای لیستی از انواع رویدادهای پشتیبانی شده، قسمتeventType
را ببینید. - با احراز هویت کاربر ، یک یا چند حوزه مجوز را برای پشتیبانی از هر نوع رویداد در درخواست خود مشخص کنید. به عنوان بهترین روش، محدودترین محدوده را انتخاب کنید که همچنان به برنامه شما اجازه عملکرد می دهد. برای انتخاب محدوده، به نمای کلی احراز هویت و مجوز مراجعه کنید.
در نمونه کد زیر، رویدادهای مربوط به عضویتها و پیامهای جدید را در یک فاصله فهرست میکنید.
پایتون
- در پوشه کاری خود، فایلی با نام
chat_space_event_list.py
ایجاد کنید. کد زیر را در
chat_space_event_list.py
قرار دهید:"""Lists SpaceEvent resources 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 = ["https://www.googleapis.com/auth/chat.memberships.readonly", "https://www.googleapis.com/auth/chat.messages.readonly"] # 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().list( # The space from which to list events. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # A required filter. Filters and returns events about new memberships and messages filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"' ).execute() # Prints details about the created space events. print(result)
در کد زیر را جایگزین کنید:
-
SPACE
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.
-
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_space_event_list.py
Chat API فهرستی از رویدادهای منابع SpaceEvent
درباره عضویتها و پیامهای جدید را برمیگرداند.
صفحه بندی را سفارشی کنید
به صورت اختیاری، پارامترهای پرس و جو زیر را برای سفارشی کردن صفحه بندی ارسال کنید:
-
pageSize
: حداکثر تعداد منابعSpaceEvent
برای بازگشت. ممکن است این سرویس کمتر از این مقدار را برگرداند. مقادیر منفی یک خطایINVALID_ARGUMENT
را برمیگرداند. -
pageToken
: یک نشانه صفحه، دریافت شده از تماس قبلی با رویدادهای فضای لیست. این نشانه را برای بازیابی صفحه بعدی ارائه دهید. هنگام صفحهبندی، مقدار فیلتر باید با تماسی که توکن صفحه را ارائه میکند، مطابقت داشته باشد. عبور یک مقدار متفاوت ممکن است منجر به نتایج غیرمنتظره شود.