این راهنما نحوه استفاده از روش list
در منبع SpaceEvent
در Google Chat API برای فهرست کردن تغییرات منابع در یک فضا توضیح میدهد.
منبع SpaceEvent
نشاندهنده تغییر در فضای هدف، از جمله منابع فرزند فضا مانند پیامها، واکنشها و عضویتها است. برای اطلاعات بیشتر در مورد لیست انواع رویداد و بارهای رویداد پشتیبانی شده، به فیلدهای eventType
و payload
در اسناد مرجع منبع SpaceEvent
مراجعه کنید.
شما می توانید رویدادها را تا 28 روز قبل از زمان درخواست لیست کنید. سرور رویدادهایی را برمی گرداند که حاوی جدیدترین نسخه منبع آسیب دیده هستند. برای مثال، اگر رویدادهای مربوط به اعضای جدید فضایی را فهرست کنید، سرور منابع Membership
را که حاوی آخرین جزئیات عضویت است، برمیگرداند. اگر اعضای جدید در طول دوره درخواستی حذف شوند، بار رویداد حاوی یک منبع Membership
خالی است.
برای فراخوانی این روش، باید از احراز هویت کاربر استفاده کنید. برای فهرست کردن رویدادها از یک فضا، کاربر احراز هویت شده باید عضوی از فضا باشد.
پیش نیازها
پایتون
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- شناسه مشتری OAuth را برای یک برنامه دسکتاپ ایجاد کنید . برای اجرای نمونه در این راهنما، اعتبارنامه ها را به عنوان یک فایل JSON با نام
client_secrets.json
در فهرست محلی خود ذخیره کنید.
- محدوده مجوزی را انتخاب کنید که از احراز هویت کاربر پشتیبانی می کند.
فهرست رویدادهای فضایی
برای فهرست کردن رویدادهای فضایی از فضای چت، موارد زیر را انجام دهید:
- متد
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
: یک نشانه صفحه، دریافت شده از تماس قبلی با رویدادهای فضای لیست. این نشانه را برای بازیابی صفحه بعدی ارائه دهید. هنگام صفحهبندی، مقدار فیلتر باید با تماسی که توکن صفحه را ارائه میکند، مطابقت داشته باشد. عبور یک مقدار متفاوت ممکن است منجر به نتایج غیرمنتظره شود.