این راهنما نحوه استفاده از متد list()
را در منبع SpaceEvent
در Google Chat API برای فهرست کردن تغییرات منابع در یک فضا توضیح میدهد.
منبع SpaceEvent
نشاندهنده تغییر در فضای هدف، از جمله منابع فرزند فضا مانند پیامها، واکنشها و عضویتها است. برای اطلاعات بیشتر در مورد لیست انواع رویداد و بارهای رویداد پشتیبانی شده، به فیلدهای eventType
و payload
در اسناد مرجع منبع SpaceEvent
مراجعه کنید.
شما می توانید رویدادها را تا 28 روز قبل از زمان درخواست لیست کنید. سرور رویدادهایی را برمی گرداند که حاوی جدیدترین نسخه منبع آسیب دیده هستند. برای مثال، اگر رویدادهای مربوط به اعضای جدید فضایی را فهرست کنید، سرور منابع Membership
را که حاوی آخرین جزئیات عضویت است، برمیگرداند. اگر اعضای جدید در طول دوره درخواستی حذف شوند، بار رویداد حاوی یک منبع Membership
خالی است.
برای فهرست کردن رویدادها از یک فضا، کاربر تأیید شده یا برنامه چت باید عضوی از فضا باشد.
پیش نیازها
Node.js
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- Node.js Cloud Client Library را نصب کنید.
- اعتبارنامه دسترسی را بر اساس نحوه احراز هویت در درخواست Google Chat API خود ایجاد کنید:
- برای احراز هویت به عنوان کاربر چت، اعتبار شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
credentials.json
در فهرست محلی خود ذخیره کنید. - برای احراز هویت بهعنوان برنامه چت، اعتبار حساب سرویس ایجاد کنید و اعتبارنامهها را بهعنوان فایل JSON با نام
credentials.json
ذخیره کنید.
- برای احراز هویت به عنوان کاربر چت، اعتبار شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
- بر اساس اینکه میخواهید بهعنوان کاربر یا برنامه چت احراز هویت کنید ، محدوده مجوز را انتخاب کنید .
پایتون
- یک حساب Google Workspace تجاری یا سازمانی با دسترسی به Google Chat .
- محیط خود را تنظیم کنید:
- یک پروژه Google Cloud ایجاد کنید .
- صفحه رضایت OAuth را پیکربندی کنید .
- Google Chat API را با نام، نماد و توضیحات برای برنامه Chat خود فعال و پیکربندی کنید .
- کتابخانه Client Python Cloud را نصب کنید.
- اعتبارنامه دسترسی را بر اساس نحوه احراز هویت در درخواست Google Chat API خود ایجاد کنید:
- برای احراز هویت به عنوان کاربر چت، اعتبار شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
credentials.json
در فهرست محلی خود ذخیره کنید. - برای احراز هویت بهعنوان برنامه چت، اعتبار حساب سرویس ایجاد کنید و اعتبارنامهها را بهعنوان فایل JSON با نام
credentials.json
ذخیره کنید.
- برای احراز هویت به عنوان کاربر چت، اعتبار شناسه مشتری OAuth را ایجاد کنید و اعتبارنامه ها را به عنوان یک فایل JSON با نام
- بر اساس اینکه میخواهید بهعنوان کاربر یا برنامه چت احراز هویت کنید ، محدوده مجوز را انتخاب کنید .
فهرست رویدادهای فضایی (تأیید هویت کاربر)
برای فهرست کردن رویدادهای فضایی از فضای چت، موارد زیر را در درخواست خود ارسال کنید:
یک یا چند حوزه مجوز را برای پشتیبانی از هر نوع رویداد در درخواست خود مشخص کنید. به عنوان بهترین روش، محدودترین محدوده را انتخاب کنید که همچنان به برنامه شما اجازه عملکرد می دهد. برای انتخاب محدوده، به نمای کلی احراز هویت و مجوز مراجعه کنید.
متد
ListSpaceEvents()
را فراخوانی کنید وfilter
انواع رویداد را به لیست منتقل کنید. شما باید حداقل یک نوع رویداد را مشخص کنید، و همچنین می توانید بر اساس تاریخ فیلتر کنید. برای لیستی از انواع رویدادهای پشتیبانی شده، به قسمتeventType
در مستندات مرجع منبعSpaceEvent
مراجعه کنید.
مثال زیر رویدادهای مربوط به عضویتها و پیامهای جدید را در یک فضا فهرست میکند:
Node.js
برای اجرای این نمونه، SPACE_NAME
با شناسه name
فضا جایگزین کنید. شما می توانید شناسه را با فراخوانی متد ListSpaces()
یا از URL فضا بدست آورید.
Chat API فهرستی از فهرست صفحهبندیشده رویدادهای فضایی درباره عضویتها و پیامهای جدید را برمیگرداند.
فهرست رویدادهای فضایی (احراز هویت برنامه چت)
احراز هویت برنامه نیاز به تأیید یکباره سرپرست دارد.
برای فهرست کردن رویدادهای فضایی از یک فضا با احراز هویت برنامه و Chat REST API ، موارد زیر را در درخواست خود ارسال کنید:
- یک یا چند حوزه مجوز را برای پشتیبانی از هر نوع رویداد در درخواست خود مشخص کنید. به عنوان بهترین روش، محدودترین محدوده را انتخاب کنید که همچنان به برنامه شما اجازه عملکرد می دهد. برای کسب اطلاعات بیشتر در مورد انتخاب یک محدوده، به نمای کلی احراز هویت و مجوز مراجعه کنید.
-
https://www.googleapis.com/auth/chat.app.memberships
-
https://www.googleapis.com/auth/chat.app.messages.readonly
-
https://www.googleapis.com/auth/chat.app.spaces
-
- متد
list
را در منبعspaceEvents
فراخوانی کنید. -
name
فضایی را برای فهرست کردن پیامها ارسال کنید. - برای پرس و جو از انواع رویدادهای خاص، یک
filter
عبور دهید.
یک کلید API ایجاد کنید
برای فراخوانی یک روش API پیشنمایش برنامهنویس، باید از یک نسخه پیشنمایش برنامهنویس غیرعمومی سند کشف API استفاده کنید. برای احراز هویت درخواست، باید یک کلید API ارسال کنید.
برای ایجاد کلید API، پروژه Google Cloud برنامه خود را باز کنید و کارهای زیر را انجام دهید:
- در کنسول Google Cloud، به > APIs & Services > Credentials بروید.
- روی ایجاد اعتبارنامه > کلید API کلیک کنید.
- کلید API جدید شما نمایش داده می شود.
- روی Copy کلیک کنید تا کلید API خود را برای استفاده در کد برنامه خود کپی کنید. کلید API را میتوانید در بخش «کلیدهای API» اعتبار پروژهتان پیدا کنید.
- برای جلوگیری از استفاده غیرمجاز، توصیه میکنیم کلید API را در کجا و برای کدام APIها محدود کنید. برای جزئیات بیشتر، به افزودن محدودیتهای API مراجعه کنید.
اسکریپتی بنویسید که Chat API را فراخوانی کند
در اینجا نحوه فهرست کردن رویدادهای فضایی با تأیید اعتبار برنامه و Chat REST API آورده شده است:
پایتون
- در فهرست کاری خود، فایلی با نام
chat_spaceevents_list_app.py
ایجاد کنید. کد زیر را در
chat_spaceevents_list_app.py
قرار دهید:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships.readonly` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space to list events from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()
در کد زیر را جایگزین کنید:
-
API_KEY
: کلید API که برای ساختن نقطه پایانی سرویس برای Chat API ایجاد کردید. -
SPACE_NAME
: نام فضایی است که می توانید از روشspaces.list
در Chat API یا از URL یک فضا دریافت کنید.
-
در پوشه کاری خود، نمونه را بسازید و اجرا کنید:
python3 chat_spaceevents_list_app.py
Chat API فهرستی از فهرست صفحهبندیشده رویدادهای فضایی درباره عضویتها و پیامهای جدید را برمیگرداند.