این صفحه نحوه استفاده از Google Workspace Events API برای ایجاد اشتراک در یک منبع Google Workspace را توضیح می دهد. اشتراک Google Workspace به برنامه شما اجازه میدهد اطلاعاتی درباره رویدادهای Google Workspace دریافت کند، که نشاندهنده تغییرات یک منبع Google Workspace است. برای آشنایی با منابع و انواع رویدادهای Google Workspace Events API، به نمای کلی API رویدادهای Google Workspace مراجعه کنید.
این صفحه شامل مراحل زیر برای ایجاد اشتراک Google Workspace است:
- محیط خود را تنظیم کنید.
- یک موضوع Google Cloud Pub/Sub ایجاد کنید و در آن مشترک شوید. شما از این موضوع به عنوان نقطه پایانی برای دریافت رویدادهای Google Workspace استفاده می کنید.
- متد
create()
API رویدادهای Google Workspace را در منبعSubscription
فراخوانی کنید. - اشتراک Google Workspace خود را آزمایش کنید تا مطمئن شوید که موضوع Pub/Sub شما رویدادهایی را دریافت می کند که در آنها مشترک شده اید.
- به صورت اختیاری، نحوه انتقال رویدادها به نقطه پایانی برای برنامه خود را پیکربندی کنید تا برنامه شما بتواند رویداد را پردازش کند و در صورت لزوم اقدامی انجام دهد.
پیش نیازها
اسکریپت برنامه ها
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای مقداردهی اولیه
gcloud
CLI، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با فعال کردن صورتحساب. برای اشتراک در Chat، همچنین باید Chat API را در پروژه Cloud خود فعال کنید و فیلدهای نام برنامه ، URL آواتار و توضیحات را پیکربندی کنید. برای جزئیات، به ساخت برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه پیکربندی شده است. وقتی صفحه رضایت را پیکربندی میکنید، باید محدودهای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی محدوده های مورد نیاز، به انتخاب محدوده ها مراجعه کنید.
- پروژه Apps Script:
- از پروژه Google Cloud خود به جای پروژه پیشفرض ایجاد شده توسط Apps Script استفاده کنید.
- برای هر دامنهای که برای پیکربندی صفحه رضایت OAuth اضافه کردهاید، باید دامنهها را نیز به فایل
appsscript.json
در پروژه Apps Script خود اضافه کنید. به عنوان مثال: - سرویس پیشرفته
Google Workspace Events
را فعال کنید .
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
پایتون
- پایتون 3.6 یا بالاتر
- ابزار مدیریت بسته پیپ
- جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای مقداردهی اولیه
gcloud
CLI، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با فعال کردن صورتحساب. برای اشتراک در Chat، همچنین باید Chat API را در پروژه Cloud خود فعال کنید و فیلدهای نام برنامه ، URL آواتار و توضیحات را پیکربندی کنید. برای جزئیات، به ساخت برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه پیکربندی شده است. وقتی صفحه رضایت را پیکربندی میکنید، باید محدودهای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی محدوده های مورد نیاز، به انتخاب محدوده ها مراجعه کنید.
محیط خود را تنظیم کنید
بخش زیر نحوه تنظیم محیط خود را قبل از ایجاد اشتراک Google Workspace توضیح می دهد.
Google Workspace Events API و Google Cloud Pub/Sub API را فعال کنید
قبل از استفاده از Google API، باید آنها را در پروژه Google Cloud روشن کنید. میتوانید یک یا چند API را در یک پروژه Google Cloud روشن کنید.کنسول Google Cloud
در کنسول Google Cloud، پروژه Google Cloud را برای برنامه خود باز کنید و Google Workspace Events API و Pub/Sub API را فعال کنید:
gcloud
در فهرست کاری خود، وارد حساب Google خود شوید:
gcloud auth login
پروژه خود را روی پروژه Cloud برای برنامه خود تنظیم کنید:
gcloud config set project PROJECT_ID
شناسه پروژه پروژه Cloud را برای برنامه خود جایگزین
PROJECT_ID
کنید.فعال کردن Google Workspace Events API و Google Cloud Pub/Sub API:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
شناسه مشتری OAuth ایجاد کنید
نوع برنامه خود را برای دستورالعمل های خاص در مورد نحوه ایجاد شناسه مشتری OAuth انتخاب کنید:
برنامه وب
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > برنامه وب کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- URI های مجاز مرتبط با برنامه خود را اضافه کنید:
- برنامههای سمت کلاینت (جاوا اسکریپت) - در زیر مبدا مجاز جاوا اسکریپت ، روی افزودن URI کلیک کنید. سپس، یک URI را برای استفاده برای درخواست های مرورگر وارد کنید. این دامنههایی را که برنامه شما میتواند درخواستهای API را به سرور OAuth 2.0 ارسال کند، مشخص میکند.
- برنامههای سمت سرور (جاوا، پایتون و موارد دیگر) - در زیر URIهای مجاز تغییر مسیر ، روی Add URI کلیک کنید. سپس، یک URI نقطه پایانی را وارد کنید که سرور OAuth 2.0 میتواند پاسخها را به آن ارسال کند.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.
به شناسه مشتری توجه کنید. اسرار مشتری برای برنامه های کاربردی وب استفاده نمی شود.
اندروید
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > Android کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت «نام بسته»، نام بسته را از فایل
AndroidManifest.xml
خود وارد کنید. - در قسمت "اثر انگشت گواهی SHA-1"، اثر انگشت گواهینامه SHA-1 تولید شده خود را وارد کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
iOS
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > iOS کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت "Bundle ID"، شناسه بسته را همانطور که در فایل
Info.plist
برنامه ذکر شده است وارد کنید. - اختیاری: اگر برنامه شما در Apple App Store ظاهر شد، شناسه فروشگاه App را وارد کنید.
- اختیاری: در قسمت "تیم ID"، رشته 10 کاراکتری منحصر به فرد را که توسط اپل تولید شده و به تیم شما اختصاص داده شده است، وارد کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
برنامه کروم
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > برنامه افزودنی Chrome کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت "Item ID" رشته شناسه منحصر به فرد 32 نویسه ای برنامه خود را وارد کنید. میتوانید این مقدار شناسه را در URL فروشگاه وب Chrome برنامه خود و در داشبورد برنامهنویس فروشگاه وب Chrome پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
برنامه دسکتاپ
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
تلویزیون ها و دستگاه های ورودی محدود
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > تلویزیونها و دستگاههای ورودی محدود کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
پلتفرم جهانی ویندوز (UWP)
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > Universal Windows Platform (UWP) کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت «Store ID»، مقدار شناسه فروشگاه مایکروسافت 12 کاراکتری منحصر به فرد برنامه خود را وارد کنید. میتوانید این شناسه را در URL فروشگاه مایکروسافت برنامهتان و در مرکز شریک پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
فایل JSON مخفی مشتری را دانلود کنید
فایل مخفی سرویس گیرنده یک نمایش JSON از اعتبارنامه های شناسه مشتری OAuth است که برنامه شما می تواند هنگام ارائه اعتبارنامه به آن ارجاع دهد.
در کنسول Google Cloud، به > APIs & Services > Credentials بروید.
در بخش شناسههای مشتری OAuth 2.0 ، روی شناسه مشتری که ایجاد کردهاید کلیک کنید.
روی دانلود JSON کلیک کنید.
فایل را به عنوان
client_secrets.json
ذخیره کنید.
موضوع Pub/Sub را ایجاد کرده و در آن مشترک شوید
در این بخش، شما یک موضوع Pub/Sub ایجاد می کنید و در آن موضوع اشتراک می کنید. موضوع Pub/Sub شما به عنوان نقطه پایانی اعلان است که اشتراک Google Workspace شما رویدادها را دریافت می کند.
برای کسب اطلاعات بیشتر در مورد ایجاد و مدیریت موضوعات Pub/Sub، به مستندات Pub/Sub مراجعه کنید.
برای ایجاد و اشتراک در یک موضوع Pub/Sub:
کنسول Google Cloud
در کنسول Google Cloud، به صفحه Pub/Sub بروید:
مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.
- یک نام برای موضوع خود وارد کنید، مانند
workspace-events-topic
. - افزودن اشتراک پیشفرض را انتخاب کنید. Pub/Sub این اشتراک پیشفرض را مشابه نام موضوع شما نامگذاری میکند، مانند
workspace-events-topic-sub
. - اختیاری: ویژگی های اضافی را برای موضوع خود به روز کنید یا پیکربندی کنید.
- یک نام برای موضوع خود وارد کنید، مانند
روی ایجاد کلیک کنید. نام کامل موضوع شما به صورت
projects/ PROJECT_ID /topics/ TOPIC_ID
قالببندی شده است. شما از این نام کامل در مرحله بعد استفاده می کنید.اجازه دسترسی به انتشار پیامهای Pub/Sub به موضوع خود را بدهید:
- در صفحه موضوع خود، به پانل کناری بروید و تب Permissions را باز کنید.
- روی Add Principal کلیک کنید.
- در قسمت افزودن اصول ، حساب سرویس را برای برنامه Google Workspace اضافه کنید که رویدادها را به اشتراک شما ارائه میکند:
- برای رویدادهای گپ،
chat-api-push@system.gserviceaccount.com
. - برای رویدادهای Meet،
meet-api-event-push@system.gserviceaccount.com
.
- برای رویدادهای گپ،
- در منوی Assign roles ،
Pub/Sub Publisher
انتخاب کنید. - روی ذخیره کلیک کنید. ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.
gcloud
در پروژه Cloud خود با اجرای دستور زیر یک موضوع ایجاد کنید:
gcloud pubsub topics create TOPIC_ID
TOPIC_ID
با یک شناسه منحصر به فرد برای موضوع خود جایگزین کنید، مانندworkspace-events-topic
.خروجی نام کامل موضوع را با قالب بندی
projects/ PROJECT_ID /topics/ TOPIC_ID
نمایش می دهد. نام را یادداشت کنید و مطمئن شوید که مقدار PROJECT_ID شناسه پروژه Cloud برای برنامه شما باشد. در مرحله زیر از نام موضوع استفاده میکنید و بعداً اشتراک Google Workspace را ایجاد میکنید.اجازه دسترسی به انتشار پیام های موضوع خود را بدهید:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
موارد زیر را جایگزین کنید:
-
TOPIC_NAME
: نام کامل موضوع، که خروجی مرحله قبل است. قالببندی شده به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
. GOOGLE_WORKSPACE_APPLICATION
: برنامه Google Workspace که باید رویدادها را به اشتراک شما ارائه دهد:- برای دریافت رویدادها از چت، از
chat-api-push@system.gserviceaccount.com
استفاده کنید. - برای دریافت رویدادها از Meet، از
meet-api-event-push@system.gserviceaccount.com
استفاده کنید.
- برای دریافت رویدادها از چت، از
ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.
-
یک اشتراک Pub/Sub برای موضوع ایجاد کنید:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
موارد زیر را جایگزین کنید:
-
SUBSCRIPTION_NAME
: نامی برای اشتراک شما، مانندworkspace-events-subscription
. -
TOPIC_NAME
: نام موضوعی که در مرحله قبل ایجاد کردید.
-
در یک منبع Google Workspace مشترک شوید
در این بخش، در منبع Google Workspace که میخواهید برای رویدادها نظارت کنید، مشترک میشوید.
منبع هدف را انتخاب و شناسایی کنید
در اشتراک Google Workspace، منبع هدف ، منبع Google Workspace است که شما برای رویدادها نظارت می کنید. منبع هدف در قسمت targetResource
اشتراک نشان داده می شود که با استفاده از نام کامل منبع فرمت شده است. به عنوان مثال، برای اشتراکی که فضای چت Google را نظارت می کند ( spaces/AAAABBBBBBB
)، مقدار targetResource
//chat.googleapis.com/spaces/AAAABBBBBBB
است.
قبل از ایجاد اشتراک، از بخشهای زیر برای یادگیری نحوه شناسایی و قالببندی منبع هدف استفاده کنید.
یک منبع هدف برای چت شناسایی کنید
منبع هدف | قالب | محدودیت ها |
---|---|---|
فضا | که در آن SPACE شناسه در نام منبع منبع | کاربر گپ که اشتراک را مجاز میکند، باید از طریق Google Workspace یا حساب Google خود عضو فضا باشد. |
همه فضاها برای یک کاربر | | اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق Google Workspace یا حساب Google در آن عضو است دریافت می کند. |
کاربر | که در آن USER شناسه در نام منبع منبع | اشتراک فقط رویدادهای مربوط به کاربری را دریافت می کند که اشتراک را مجاز کرده است. کاربر نمیتواند از طرف دیگر کاربران اجازه اشتراک بدهد. |
یک منبع هدف برای Meet شناسایی کنید
منبع هدف | قالب | محدودیت ها (در صورت وجود) |
---|---|---|
فضای جلسه | //meet.googleapis.com/spaces/ SPACE که در آن SPACE شناسه در نام منبع منبع | |
کاربر | //cloudidentity.googleapis.com/users/ USER که در آن USER شناسه در قسمت | اشتراک رویدادهایی را درباره فضاهای جلسه دریافت می کند که کاربر یکی از موارد زیر است:
|
یک اشتراک Google Workspace ایجاد کنید
برای ایجاد اشتراک، از متد subscriptions.create()
API رویدادهای Google Workspace برای ایجاد یک منبع Subscription
استفاده میکنید. شما فیلدهای زیر را مشخص می کنید:
-
targetResource
: یک فضای Google Workspace که در بخش قبلی شناسایی کردهاید و با استفاده از نام کامل منبع آن قالببندی شده است. -
eventTypes
: آرایه ای از یک یا چند نوع رویداد که می خواهید در مورد منبع دریافت کنید. برای مثال، اگر برنامه شما فقط باید از پیامهای جدید ارسال شده در فضای گپ مطلع باشد، برنامه شما فقط میتواند در رویدادهای مربوط به پیامهای ایجاد شده مشترک شود. -
notificationEndpoint
: یک نقطه پایانی اعلان که اشتراک Google Workspace شما رویدادها را در آن ارائه می دهد. شما از موضوع Pub/Sub که در قسمت قبل ایجاد کردید استفاده می کنید. -
payloadOptions
: گزینههایی برای تعیین مقدار دادههای منبع در بارگذاری رویداد. این پیکربندی بر زمان انقضای اشتراک شما تأثیر می گذارد. برای کسب اطلاعات بیشتر، دادههای رویداد را ببینید.
برای ایجاد اشتراک Google Workspace:
اسکریپت برنامه ها
در پروژه Apps Script خود، یک فایل اسکریپت جدید به نام
createSubscription
ایجاد کنید و کد زیر را اضافه کنید:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }
موارد زیر را جایگزین کنید:
-
TARGET_RESOURCE
: منبع Google Workspace که در آن مشترک هستید، به عنوان نام منبع کامل آن قالب بندی شده است. به عنوان مثال، برای اشتراک در فضای چت Google با شناسه فضاAAAABBBB
، از//chat.googleapis.com/spaces/AAAABBBB
استفاده کنید. -
EVENT_TYPES
: یک یا چند نوع رویداد که میخواهید در منبع هدف مشترک شوید. به عنوان آرایه ای از رشته ها مانند'google.workspace.chat.message.v1.created'
قالب بندی کنید. -
TOPIC_NAME
: نام کامل موضوع Pub/Sub که در پروژه Cloud خود ایجاد کردید. قالببندی شده به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
. RESOURCE_DATA
: یک بولی که مشخص میکند آیا اشتراک شامل دادههای منبع در بار است یا خیر:-
True
: شامل تمام داده های منبع است. برای محدود کردن فیلدهایی که شامل می شوند، فیلدfieldMask
را اضافه کنید و حداقل یک فیلد را برای منبع تغییر یافته مشخص کنید. فقط اشتراک در منابع چت از جمله داده های منابع پشتیبانی می کند. -
False
: داده های منبع را مستثنی می کند.
-
-
برای ایجاد اشتراک Google Workspace، تابع
createSubscription
را در پروژه Apps Script خود اجرا کنید.
پایتون
در پوشه کاری خود، یک فایل به نام
create_subscription.py
ایجاد کنید و کد زیر را اضافه کنید:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)
موارد زیر را جایگزین کنید:
-
SCOPES
: یک یا چند محدوده OAuth که از هر نوع رویداد برای اشتراک پشتیبانی می کند. به صورت آرایه ای از رشته ها قالب بندی شده است. برای فهرست کردن چندین دامنه، با کاما جدا کنید. برای مثال،'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
. -
TARGET_RESOURCE
: منبع Google Workspace که در آن مشترک هستید، به عنوان نام منبع کامل آن قالب بندی شده است. به عنوان مثال، برای اشتراک در فضای چت Google با شناسه فضاAAAABBBB
، از//chat.googleapis.com/spaces/AAAABBBB
استفاده کنید. -
EVENT_TYPES
: یک یا چند نوع رویداد که میخواهید در منبع هدف مشترک شوید. به عنوان آرایه ای از رشته ها مانند'google.workspace.chat.message.v1.created'
قالب بندی کنید. -
TOPIC_NAME
: نام کامل موضوع Pub/Sub که در پروژه Cloud خود ایجاد کردید. قالببندی شده به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
. RESOURCE_DATA
: یک بولی که مشخص میکند آیا اشتراک شامل دادههای منبع در بار است یا خیر:-
True
: شامل تمام داده های منبع است. برای محدود کردن فیلدهایی که شامل می شوند، فیلدfieldMask
را اضافه کنید و حداقل یک فیلد را برای منبع تغییر یافته مشخص کنید. فقط اشتراک در منابع چت از جمله داده های منابع پشتیبانی می کند. -
False
: داده های منبع را مستثنی می کند.
-
-
برای ایجاد اشتراک Google Workspace، موارد زیر را در ترمینال خود اجرا کنید:
python3 create_subscription.py
Google Workspace Events API یک عملیات طولانیمدت کامل را برمیگرداند که حاوی نمونهای از منبع Subscription
است که ایجاد کردهاید.
اشتراک Google Workspace خود را آزمایش کنید
برای آزمایش اینکه رویدادهای Google Workspace را دریافت میکنید، میتوانید یک رویداد را فعال کنید و پیامها را به اشتراک Pub/Sub بکشید.
برای آزمایش اشتراک Google Workspace:
کنسول Google Cloud
یک یا چند نوع رویداد را در منبع هدف اشتراک Google Workspace خود راه اندازی کنید. برای مثال، اگر مشترک پیامهای جدیدی در فضای چت شدهاید، پیامی را در فضای چت پست کنید.
در کنسول Google Cloud، به صفحه Pub/Sub بروید:
مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.
در منوی Pub/Sub ، روی اشتراکها کلیک کنید.
در جدول، اشتراک Pub/Sub را برای موضوع خود پیدا کنید و روی نام اشتراک کلیک کنید.
روی تب Messages کلیک کنید.
روی Pull کلیک کنید. ممکن است چند دقیقه طول بکشد تا یک رویداد یک پیام Pub/Sub ایجاد کند.
gcloud
یک یا چند نوع رویداد را در منبع هدف اشتراک Google Workspace خود راه اندازی کنید. برای مثال، اگر مشترک پیامهای جدیدی در فضای چت شدهاید، پیامی را در آن فضا ارسال کنید.
دستور زیر را اجرا کنید:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
موارد زیر را جایگزین کنید:
-
PUBSUB_SUBSCRIPTION_NAME
: نام کامل اشتراک Pub/Sub شما، قالببندی شده به عنوانprojects/ SUBSCRIPTION_ID /subscriptions/ SUBSCRIPTION_ID
. -
MESSAGE_COUNT
: حداکثر تعداد پیامهای Pub/Sub که میخواهید بکشید.
ممکن است چند دقیقه طول بکشد تا یک رویداد یک پیام Pub/Sub ایجاد کند.
-
برای هر رویداد Google Workspace که راهاندازی کردید، پیامی به اشتراک Pub/Sub شما ارسال میشود که حاوی رویداد است. برای جزئیات، به دریافت رویدادها به عنوان پیامهای Google Cloud Pub/Sub مراجعه کنید.
نحوه دریافت رویدادها را پیکربندی کنید
اشتراک Pub/Sub که ایجاد کردید مبتنی بر کشش است. پس از اینکه اشتراک Pub/Sub خود را آزمایش کردید، میتوانید نوع تحویل را بهروزرسانی کنید تا نحوه دریافت رویدادها را تغییر دهید. به عنوان مثال، میتوانید اشتراک Pub/Sub را روی یک نوع تحویل فشاری پیکربندی کنید، به طوری که برنامه شما بتواند رویدادها را مستقیماً به یک نقطه پایانی برنامه دریافت کند.
برای آشنایی با پیکربندی اشتراک Pub/Sub، به مستندات Pub/Sub مراجعه کنید.
موضوعات مرتبط
- آموزش: رویدادهای جلسه را با پایتون و Google Meet REST API مشاهده کنید
- اشتراک دریافت کنید
- فهرست اشتراک ها
- اشتراک را به روز کنید یا تمدید کنید
- خطاها را برطرف کنید و اشتراک را دوباره فعال کنید
- اشتراک را حذف کنید
این صفحه نحوه استفاده از Google Workspace Events API برای ایجاد اشتراک در یک منبع Google Workspace را توضیح می دهد. اشتراک Google Workspace به برنامه شما اجازه میدهد اطلاعاتی درباره رویدادهای Google Workspace دریافت کند، که نشاندهنده تغییرات یک منبع Google Workspace است. برای آشنایی با منابع و انواع رویدادهای Google Workspace Events API، به نمای کلی API رویدادهای Google Workspace مراجعه کنید.
این صفحه شامل مراحل زیر برای ایجاد اشتراک Google Workspace است:
- محیط خود را تنظیم کنید.
- یک موضوع Google Cloud Pub/Sub ایجاد کنید و در آن مشترک شوید. شما از این موضوع به عنوان نقطه پایانی برای دریافت رویدادهای Google Workspace استفاده می کنید.
- متد
create()
API رویدادهای Google Workspace را در منبعSubscription
فراخوانی کنید. - اشتراک Google Workspace خود را آزمایش کنید تا مطمئن شوید که موضوع Pub/Sub شما رویدادهایی را دریافت می کند که در آنها مشترک شده اید.
- به صورت اختیاری، نحوه انتقال رویدادها به نقطه پایانی برای برنامه خود را پیکربندی کنید تا برنامه شما بتواند رویداد را پردازش کند و در صورت لزوم اقدامی انجام دهد.
پیش نیازها
اسکریپت برنامه ها
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای مقداردهی اولیه
gcloud
CLI، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با فعال کردن صورتحساب. برای اشتراک در Chat، همچنین باید Chat API را در پروژه Cloud خود فعال کنید و فیلدهای نام برنامه ، URL آواتار و توضیحات را پیکربندی کنید. برای جزئیات، به ساخت برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه پیکربندی شده است. وقتی صفحه رضایت را پیکربندی میکنید، باید محدودهای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی محدوده های مورد نیاز، به انتخاب محدوده ها مراجعه کنید.
- پروژه Apps Script:
- از پروژه Google Cloud خود به جای پروژه پیشفرض ایجاد شده توسط Apps Script استفاده کنید.
- برای هر دامنهای که برای پیکربندی صفحه رضایت OAuth اضافه کردهاید، باید دامنهها را نیز به فایل
appsscript.json
در پروژه Apps Script خود اضافه کنید. به عنوان مثال: - سرویس پیشرفته
Google Workspace Events
را فعال کنید .
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
پایتون
- پایتون 3.6 یا بالاتر
- ابزار مدیریت بسته پیپ
- جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای مقداردهی اولیه
gcloud
CLI، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با فعال کردن صورتحساب. برای اشتراک در Chat، همچنین باید Chat API را در پروژه Cloud خود فعال کنید و فیلدهای نام برنامه ، URL آواتار و توضیحات را پیکربندی کنید. برای جزئیات، به ساخت برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه پیکربندی شده است. وقتی صفحه رضایت را پیکربندی میکنید، باید محدودهای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی محدوده های مورد نیاز، به انتخاب محدوده ها مراجعه کنید.
محیط خود را تنظیم کنید
بخش زیر نحوه تنظیم محیط خود را قبل از ایجاد اشتراک Google Workspace توضیح می دهد.
Google Workspace Events API و Google Cloud Pub/Sub API را فعال کنید
قبل از استفاده از Google API، باید آنها را در پروژه Google Cloud روشن کنید. میتوانید یک یا چند API را در یک پروژه Google Cloud روشن کنید.کنسول Google Cloud
در کنسول Google Cloud، پروژه Google Cloud را برای برنامه خود باز کنید و Google Workspace Events API و Pub/Sub API را فعال کنید:
gcloud
در فهرست کاری خود، وارد حساب Google خود شوید:
gcloud auth login
پروژه خود را روی پروژه Cloud برای برنامه خود تنظیم کنید:
gcloud config set project PROJECT_ID
شناسه پروژه پروژه Cloud را برای برنامه خود جایگزین
PROJECT_ID
کنید.فعال کردن Google Workspace Events API و Google Cloud Pub/Sub API:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
شناسه مشتری OAuth ایجاد کنید
نوع برنامه خود را برای دستورالعمل های خاص در مورد نحوه ایجاد شناسه مشتری OAuth انتخاب کنید:
برنامه وب
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > برنامه وب کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- URI های مجاز مرتبط با برنامه خود را اضافه کنید:
- برنامههای سمت کلاینت (جاوا اسکریپت) - در زیر مبدا مجاز جاوا اسکریپت ، روی افزودن URI کلیک کنید. سپس، یک URI را برای استفاده برای درخواست های مرورگر وارد کنید. این دامنههایی را که برنامه شما میتواند درخواستهای API را به سرور OAuth 2.0 ارسال کند، مشخص میکند.
- برنامههای سمت سرور (جاوا، پایتون و موارد دیگر) - در زیر URIهای مجاز تغییر مسیر ، روی Add URI کلیک کنید. سپس، یک URI نقطه پایانی را وارد کنید که سرور OAuth 2.0 میتواند پاسخها را به آن ارسال کند.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.
به شناسه مشتری توجه کنید. اسرار مشتری برای برنامه های کاربردی وب استفاده نمی شود.
اندروید
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > Android کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت «نام بسته»، نام بسته را از فایل
AndroidManifest.xml
خود وارد کنید. - در قسمت "اثر انگشت گواهی SHA-1"، اثر انگشت گواهینامه SHA-1 تولید شده خود را وارد کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
iOS
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > iOS کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت "Bundle ID"، شناسه بسته را همانطور که در فایل
Info.plist
برنامه ذکر شده است وارد کنید. - اختیاری: اگر برنامه شما در Apple App Store ظاهر شد، شناسه فروشگاه App را وارد کنید.
- اختیاری: در قسمت "تیم ID"، رشته 10 کاراکتری منحصر به فرد را که توسط اپل تولید شده و به تیم شما اختصاص داده شده است، وارد کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
برنامه کروم
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > برنامه افزودنی Chrome کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت "Item ID" رشته شناسه منحصر به فرد 32 نویسه ای برنامه خود را وارد کنید. میتوانید این مقدار شناسه را در URL فروشگاه وب Chrome برنامه خود و در داشبورد برنامهنویس فروشگاه وب Chrome پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
برنامه دسکتاپ
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
تلویزیون ها و دستگاه های ورودی محدود
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > تلویزیونها و دستگاههای ورودی محدود کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
پلتفرم جهانی ویندوز (UWP)
- در کنسول Google Cloud، به > بروید > مشتریان
- روی Create Client کلیک کنید.
- روی نوع برنامه > Universal Windows Platform (UWP) کلیک کنید.
- در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- در قسمت «Store ID»، مقدار شناسه فروشگاه مایکروسافت 12 کاراکتری منحصر به فرد برنامه خود را وارد کنید. میتوانید این شناسه را در URL فروشگاه مایکروسافت برنامهتان و در مرکز شریک پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.
فایل JSON مخفی مشتری را دانلود کنید
فایل مخفی سرویس گیرنده یک نمایش JSON از اعتبارنامه های شناسه مشتری OAuth است که برنامه شما می تواند هنگام ارائه اعتبارنامه به آن ارجاع دهد.
در کنسول Google Cloud، به > APIs & Services > Credentials بروید.
در بخش شناسههای مشتری OAuth 2.0 ، روی شناسه مشتری که ایجاد کردهاید کلیک کنید.
روی دانلود JSON کلیک کنید.
فایل را به عنوان
client_secrets.json
ذخیره کنید.
موضوع Pub/Sub را ایجاد کرده و در آن مشترک شوید
در این بخش، شما یک موضوع Pub/Sub ایجاد می کنید و در آن موضوع اشتراک می کنید. موضوع Pub/Sub شما به عنوان نقطه پایانی اعلان است که اشتراک Google Workspace شما رویدادها را دریافت می کند.
برای کسب اطلاعات بیشتر در مورد ایجاد و مدیریت موضوعات Pub/Sub، به مستندات Pub/Sub مراجعه کنید.
برای ایجاد و اشتراک در یک موضوع Pub/Sub:
کنسول Google Cloud
در کنسول Google Cloud، به صفحه Pub/Sub بروید:
مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.
- یک نام برای موضوع خود وارد کنید، مانند
workspace-events-topic
. - افزودن اشتراک پیشفرض را انتخاب کنید. Pub/Sub این اشتراک پیشفرض را مشابه نام موضوع شما نامگذاری میکند، مانند
workspace-events-topic-sub
. - اختیاری: ویژگی های اضافی را برای موضوع خود به روز کنید یا پیکربندی کنید.
- یک نام برای موضوع خود وارد کنید، مانند
روی ایجاد کلیک کنید. نام کامل موضوع شما به صورت
projects/ PROJECT_ID /topics/ TOPIC_ID
قالببندی شده است. شما از این نام کامل در مرحله بعد استفاده می کنید.اجازه دسترسی به انتشار پیامهای Pub/Sub به موضوع خود را بدهید:
- در صفحه موضوع خود، به پانل کناری بروید و تب Permissions را باز کنید.
- روی Add Principal کلیک کنید.
- در قسمت افزودن اصول ، حساب سرویس را برای برنامه Google Workspace اضافه کنید که رویدادها را به اشتراک شما ارائه میکند:
- برای رویدادهای گپ،
chat-api-push@system.gserviceaccount.com
. - برای رویدادهای Meet،
meet-api-event-push@system.gserviceaccount.com
.
- برای رویدادهای گپ،
- در منوی Assign roles ،
Pub/Sub Publisher
انتخاب کنید. - روی ذخیره کلیک کنید. ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.
gcloud
در پروژه Cloud خود با اجرای دستور زیر یک موضوع ایجاد کنید:
gcloud pubsub topics create TOPIC_ID
TOPIC_ID
با یک شناسه منحصر به فرد برای موضوع خود جایگزین کنید، مانندworkspace-events-topic
.خروجی نام کامل موضوع را با قالب بندی
projects/ PROJECT_ID /topics/ TOPIC_ID
نمایش می دهد. نام را یادداشت کنید و مطمئن شوید که مقدار PROJECT_ID شناسه پروژه Cloud برای برنامه شما باشد. در مرحله زیر از نام موضوع استفاده میکنید و بعداً اشتراک Google Workspace را ایجاد میکنید.اجازه دسترسی به انتشار پیام های موضوع خود را بدهید:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
موارد زیر را جایگزین کنید:
-
TOPIC_NAME
: نام کامل موضوع، که خروجی مرحله قبل است. قالببندی شده به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
. GOOGLE_WORKSPACE_APPLICATION
: برنامه Google Workspace که باید رویدادها را به اشتراک شما ارائه دهد:- برای دریافت رویدادها از چت، از
chat-api-push@system.gserviceaccount.com
استفاده کنید. - برای دریافت رویدادها از Meet، از
meet-api-event-push@system.gserviceaccount.com
استفاده کنید.
- برای دریافت رویدادها از چت، از
ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.
-
یک اشتراک Pub/Sub برای موضوع ایجاد کنید:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
موارد زیر را جایگزین کنید:
-
SUBSCRIPTION_NAME
: نامی برای اشتراک شما، مانندworkspace-events-subscription
. -
TOPIC_NAME
: نام موضوعی که در مرحله قبل ایجاد کردید.
-
در یک منبع Google Workspace مشترک شوید
در این بخش، در منبع Google Workspace که میخواهید برای رویدادها نظارت کنید، مشترک میشوید.
منبع هدف را انتخاب و شناسایی کنید
در اشتراک Google Workspace، منبع هدف ، منبع Google Workspace است که شما برای رویدادها نظارت می کنید. منبع هدف در قسمت targetResource
اشتراک نشان داده می شود که با استفاده از نام کامل منبع فرمت شده است. به عنوان مثال، برای اشتراکی که فضای چت Google را نظارت می کند ( spaces/AAAABBBBBBB
)، مقدار targetResource
//chat.googleapis.com/spaces/AAAABBBBBBB
است.
قبل از ایجاد اشتراک، از بخشهای زیر برای یادگیری نحوه شناسایی و قالببندی منبع هدف استفاده کنید.
یک منبع هدف برای چت شناسایی کنید
منبع هدف | قالب | محدودیت ها |
---|---|---|
فضا | که در آن SPACE شناسه در نام منبع منبع | کاربر گپ که اشتراک را مجاز میکند، باید از طریق Google Workspace یا حساب Google خود عضو فضا باشد. |
همه فضاها برای یک کاربر | | اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق Google Workspace یا حساب Google در آن عضو است دریافت می کند. |
کاربر | که در آن USER شناسه در نام منبع منبع | اشتراک فقط رویدادهای مربوط به کاربری را دریافت می کند که اشتراک را مجاز کرده است. کاربر نمیتواند از طرف دیگر کاربران اجازه اشتراک بدهد. |
یک منبع هدف برای Meet شناسایی کنید
منبع هدف | قالب | محدودیت ها (در صورت وجود) |
---|---|---|
فضای جلسه | //meet.googleapis.com/spaces/ SPACE که در آن SPACE شناسه در نام منبع منبع | |
کاربر | //cloudidentity.googleapis.com/users/ USER که در آن USER شناسه در قسمت | اشتراک رویدادهایی را درباره فضاهای جلسه دریافت می کند که کاربر یکی از موارد زیر است:
|
یک اشتراک Google Workspace ایجاد کنید
برای ایجاد اشتراک، از متد subscriptions.create()
API رویدادهای Google Workspace برای ایجاد یک منبع Subscription
استفاده میکنید. شما فیلدهای زیر را مشخص می کنید:
-
targetResource
: یک فضای Google Workspace که در بخش قبلی شناسایی کردهاید و با استفاده از نام کامل منبع آن قالببندی شده است. -
eventTypes
: آرایه ای از یک یا چند نوع رویداد که می خواهید در مورد منبع دریافت کنید. به عنوان مثال ، اگر برنامه شما فقط باید در مورد پیام های جدید ارسال شده در یک فضای گپ اطلاع داشته باشد ، برنامه شما فقط می تواند در رویدادهای مربوط به پیام های ایجاد شده مشترک باشد. -
notificationEndpoint
: یک نقطه پایانی اعلان که در آن اشتراک فضای کاری Google شما رویدادهایی را ارائه می دهد. شما از موضوع Pub/Sub که در بخش قبلی ایجاد کرده اید استفاده می کنید. -
payloadOptions
: گزینه هایی برای مشخص کردن میزان داده های منابع در بار بارگذاری رویداد. این پیکربندی بر زمان انقضا برای اشتراک شما تأثیر می گذارد. برای کسب اطلاعات بیشتر ، به داده های رویداد مراجعه کنید.
برای ایجاد اشتراک فضای کاری Google:
اسکریپت برنامه ها
در پروژه اسکریپت برنامه های خود ، یک پرونده اسکریپت جدید به نام
createSubscription
ایجاد کنید و کد زیر را اضافه کنید:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }
موارد زیر را جایگزین کنید:
-
TARGET_RESOURCE
: منبع فضای کاری Google که در آن مشترک هستید ، به عنوان نام کامل منابع آن فرمت شده است. به عنوان مثال ، برای عضویت در فضای چت Google با شناسه فضاییAAAABBBB
، از//chat.googleapis.com/spaces/AAAABBBB
استفاده کنید. -
EVENT_TYPES
: یک یا چند نوع رویداد که می خواهید در منبع هدف مشترک شوید. قالب به عنوان مجموعه ای از رشته ها مانند'google.workspace.chat.message.v1.created'
. -
TOPIC_NAME
: نام کامل موضوع Pub/Sub که در پروژه Cloud خود ایجاد کرده اید. به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. RESOURCE_DATA
: بولی که مشخص می کند اشتراک شامل داده های منابع در بار است:-
True
: شامل تمام داده های منابع است. برای محدود کردن کدام قسمت ها درج شده است ، قسمتfieldMask
را اضافه کرده و حداقل یک قسمت برای منبع تغییر یافته را مشخص کنید. فقط اشتراک برای پشتیبانی از منابع گپ از جمله داده های منابع. -
False
: داده های منابع را حذف می کند.
-
-
برای ایجاد اشتراک Google WorksPace ، عملکرد
createSubscription
در پروژه اسکریپت برنامه های خود اجرا کنید.
پایتون
در فهرست کار خود ، پرونده ای به نام
create_subscription.py
ایجاد کنید و کد زیر را اضافه کنید:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)
موارد زیر را جایگزین کنید:
-
SCOPES
: یک یا چند دامنه OAuth که از هر نوع رویداد برای اشتراک پشتیبانی می کنند. به عنوان مجموعه ای از رشته ها قالب بندی شده است. برای لیست چندین دامنه ، جدا از کاما. به عنوان مثال ،'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
. -
TARGET_RESOURCE
: منبع فضای کاری Google که در آن مشترک هستید ، به عنوان نام کامل منابع آن فرمت شده است. به عنوان مثال ، برای عضویت در فضای چت Google با شناسه فضاییAAAABBBB
، از//chat.googleapis.com/spaces/AAAABBBB
استفاده کنید. -
EVENT_TYPES
: یک یا چند نوع رویداد که می خواهید در منبع هدف مشترک شوید. قالب به عنوان مجموعه ای از رشته ها مانند'google.workspace.chat.message.v1.created'
. -
TOPIC_NAME
: نام کامل موضوع Pub/Sub که در پروژه Cloud خود ایجاد کرده اید. به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. RESOURCE_DATA
: بولی که مشخص می کند اشتراک شامل داده های منابع در بار است:-
True
: شامل تمام داده های منابع است. برای محدود کردن کدام قسمت ها درج شده است ، قسمتfieldMask
را اضافه کرده و حداقل یک قسمت برای منبع تغییر یافته را مشخص کنید. فقط اشتراک برای پشتیبانی از منابع گپ از جمله داده های منابع. -
False
: داده های منابع را حذف می کند.
-
-
برای ایجاد اشتراک Google WorksPace ، موارد زیر را در ترمینال خود اجرا کنید:
python3 create_subscription.py
Google WorksPace Events API یک عملیات طولانی مدت را که شامل نمونه منبع Subscription
که شما ایجاد کرده اید ، برمی گرداند.
اشتراک فضای کاری Google خود را آزمایش کنید
برای آزمایش این که شما در حال دریافت رویدادهای Google Workspace هستید ، می توانید یک رویداد را ایجاد کرده و پیام ها را به اشتراک PUB/SUB بکشید.
برای آزمایش اشتراک فضای کاری Google خود:
کنسول Google Cloud
یک یا چند نوع رویداد را در منبع هدف اشتراک فضای کاری Google خود قرار دهید. به عنوان مثال ، اگر در فضای چت در پیام های جدید مشترک شده اید ، پیام را به فضا ارسال کنید.
در کنسول Google Cloud ، به صفحه Pub/Sub بروید:
اطمینان حاصل کنید که پروژه ابری برای برنامه شما انتخاب شده است.
در منوی میخانه/زیر ، روی اشتراک ها کلیک کنید.
در جدول ، اشتراک Pub/Sub را برای موضوع خود پیدا کرده و روی نام اشتراک کلیک کنید.
روی برگه پیام ها کلیک کنید.
روی Pull کلیک کنید. این می تواند تا چند دقیقه طول بکشد تا یک رویداد برای تولید یک میخانه/زیر پیام باشد.
gcloud
یک یا چند نوع رویداد را در منبع هدف اشتراک فضای کاری Google خود قرار دهید. به عنوان مثال ، اگر در فضای چت در پیام های جدید مشترک شده اید ، پیام را در فضا ارسال کنید.
دستور زیر را اجرا کنید:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
موارد زیر را جایگزین کنید:
-
PUBSUB_SUBSCRIPTION_NAME
: نام کامل اشتراک میخانه/ فرعی شما ، به عنوانprojects/ SUBSCRIPTION_ID /subscriptions/ SUBSCRIPTION_ID
فرمت شده است. -
MESSAGE_COUNT
: حداکثر تعداد پیام های میخانه/فرعی که می خواهید بکشید.
این می تواند تا چند دقیقه طول بکشد تا یک رویداد برای تولید یک میخانه/زیر پیام باشد.
-
برای هر رویداد Google Workspace که شما ایجاد کرده اید ، پیامی به اشتراک میخانه/فرعی شما ارائه می شود که شامل این رویداد است. برای جزئیات بیشتر ، به دریافت رویدادها به عنوان پیام های Google Cloud Pub/Sub مراجعه کنید.
نحوه دریافت برنامه خود را پیکربندی کنید
اشتراک میخانه/فرعی که شما ایجاد کرده اید ، مبتنی بر کشش است. بعد از اینکه تست کرده اید که اشتراک میخانه/فرعی خود را ، می توانید نوع تحویل را به روز کنید تا نحوه دریافت برنامه شما را تغییر دهد. به عنوان مثال ، می توانید اشتراک Pub/Sub را در نوع تحویل فشار پیکربندی کنید تا برنامه شما بتواند رویدادها را مستقیماً به نقطه پایانی برنامه دریافت کند.
برای کسب اطلاعات در مورد پیکربندی اشتراک میخانه/زیر ، به مستندات Pub/Sub مراجعه کنید.
موضوعات مرتبط
- آموزش: رویدادهای جلسات را با پایتون و Google Meet REST API مشاهده کنید
- اشتراک دریافت کنید
- فهرست اشتراک ها
- اشتراک را به روز کنید یا تمدید کنید
- خطاها را برطرف کنید و اشتراک را دوباره فعال کنید
- اشتراک را حذف کنید
در این صفحه نحوه استفاده از API رویدادهای Google Workspace برای ایجاد اشتراک در یک منبع فضای کاری Google توضیح داده شده است. یک اشتراک فضای کاری Google به برنامه شما اجازه می دهد تا اطلاعات مربوط به رویدادهای فضای کاری Google را دریافت کند ، که نشان دهنده تغییر در یک منبع فضای کاری Google است. برای کسب اطلاعات در مورد کدام منابع و انواع رویدادها از API رویدادهای Google Workspace پشتیبانی می کند ، به نمای کلی API رویدادهای Google Pace Events مراجعه کنید.
این صفحه شامل مراحل زیر برای ایجاد اشتراک فضای کاری Google است:
- محیط خود را تنظیم کنید.
- ایجاد و مشترک شدن در یک میخانه/Sub Pub Google Cloud. شما از این موضوع به عنوان یک نقطه پایانی برای دریافت رویدادهای فضای کاری Google استفاده می کنید.
- با روش
create()
برنامه های Google Pace Events در منبعSubscription
تماس بگیرید. - اشتراک فضای کاری Google خود را آزمایش کنید تا اطمینان حاصل شود که موضوع میخانه/زیر شما رویدادهایی را که در آن مشترک شده اید دریافت می کند.
- به صورت اختیاری ، نحوه فشار رویدادها را به یک نقطه پایانی برای برنامه خود پیکربندی کنید تا برنامه شما بتواند رویداد را پردازش کرده و در صورت لزوم اقدام کند.
پیش نیازها
اسکریپت برنامه ها
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای اولیه سازی
gcloud
CLI ، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با صورتحساب فعال شده است. برای اشتراک های مربوط به گپ ، شما همچنین باید API چت را در پروژه ابری خود فعال کرده و نام برنامه ، URL آواتار و زمینه های توضیحات را پیکربندی کنید. برای جزئیات بیشتر ، به ساخت یک برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه تنظیم شده است. هنگامی که صفحه رضایت را پیکربندی می کنید ، باید دامنه ای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی دامنه های مورد نیاز ، به Secopes Section مراجعه کنید.
- یک پروژه اسکریپت برنامه:
- از پروژه Google Cloud خود به جای پیش فرض ایجاد شده به طور خودکار توسط Script Apps استفاده کنید.
- برای هر حرکتی که برای پیکربندی صفحه رضایت OAuth اضافه کرده اید ، باید Scopes را به پرونده
appsscript.json
در پروژه اسکریپت برنامه های خود اضافه کنید. به عنوان مثال: - سرویس پیشرفته
Google Workspace Events
را فعال کنید .
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
پایتون
- پایتون 3.6 یا بیشتر
- ابزار مدیریت بسته PIP
- آخرین کتابخانه های مشتری Google برای پایتون. برای نصب یا به روزرسانی آنها ، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای اولیه سازی
gcloud
CLI ، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با صورتحساب فعال شده است. برای اشتراک های مربوط به گپ ، شما همچنین باید API چت را در پروژه ابری خود فعال کرده و نام برنامه ، URL آواتار و زمینه های توضیحات را پیکربندی کنید. برای جزئیات بیشتر ، به ساخت یک برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه تنظیم شده است. هنگامی که صفحه رضایت را پیکربندی می کنید ، باید دامنه ای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی دامنه های مورد نیاز ، به Secopes Section مراجعه کنید.
محیط خود را تنظیم کنید
در بخش زیر نحوه تنظیم محیط خود قبل از ایجاد اشتراک فضای کاری Google توضیح داده شده است.
API Events Google Workspace API و Google Cloud Pub/Sub API را فعال کنید
قبل از استفاده از API های Google ، باید آنها را در یک پروژه Google Cloud روشن کنید. می توانید یک یا چند API را در یک پروژه Google Cloud واحد روشن کنید.کنسول Google Cloud
در کنسول Google Cloud ، پروژه Google Cloud را برای برنامه خود باز کنید و API و Pub/Sub API Google Workspace Events را فعال کنید:
gcloud
در فهرست کار خود ، وارد حساب Google خود شوید:
gcloud auth login
پروژه خود را برای برنامه خود روی پروژه Cloud تنظیم کنید:
gcloud config set project PROJECT_ID
PROJECT_ID
با شناسه پروژه برای پروژه Cloud برای برنامه خود جایگزین کنید.فعال کردن رویدادهای Google Workspace API و Google Cloud Pub/Sub API:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
اعتبار شناسه مشتری OAUTH ایجاد کنید
نوع برنامه خود را برای دستورالعمل های خاص در مورد نحوه ایجاد شناسه مشتری OAUTH انتخاب کنید:
برنامه وب
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > برنامه وب کلیک کنید.
- در قسمت نام ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- URI های مجاز مربوط به برنامه خود را اضافه کنید:
- برنامه های سمت مشتری (JavaScript) - نامزد مجاز جاوا اسکریپت ، روی Add URI کلیک کنید. سپس ، یک URI را وارد کنید تا برای درخواست های مرورگر استفاده کنید. این دامنه هایی را که برنامه شما می تواند درخواست های API را به سرور OAUTH 2.0 ارسال کند ، مشخص می کند.
- برنامه های سمت سرور (جاوا ، پایتون و موارد دیگر) - URIS تغییر مسیر مجاز ، روی Add URI کلیک کنید. سپس ، یک URI انتهایی را وارد کنید که سرور OAUTH 2.0 بتواند پاسخ ارسال کند.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر شناسه مشتری OAUTH 2.0 ظاهر می شود.
به شناسه مشتری توجه کنید. از اسرار مشتری برای برنامه های وب استفاده نمی شود.
اندروید
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > Android کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "نام بسته" ، نام بسته را از پرونده
AndroidManifest.xml
خود وارد کنید. - در قسمت "اثر انگشت SHA-1" ، اثر انگشت گواهی تولید SHA-1 خود را وارد کنید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
iOS
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > iOS کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "شناسه بسته" ، شناسه بسته نرم افزاری را همانطور که در پرونده
Info.plist
برنامه ذکر شده است وارد کنید. - اختیاری: اگر برنامه شما در فروشگاه App Apple ظاهر می شود ، شناسه App Store را وارد کنید.
- اختیاری: در قسمت "تیم شناسه" ، رشته 10 کاراکتر منحصر به فرد را که توسط اپل ایجاد شده است وارد کنید و به تیم خود اختصاص دهید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
برنامه کروم
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > پسوند Chrome کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "شناسه مورد" ، رشته شناسه 32 کاراکتر منحصر به فرد برنامه خود را وارد کنید. می توانید این مقدار شناسه را در URL فروشگاه وب Chrome برنامه خود و در داشبورد توسعه دهنده فروشگاه وب Chrome پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
برنامه دسکتاپ
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > برنامه دسک تاپ کلیک کنید.
- در قسمت نام ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
تلویزیون و دستگاه های ورودی محدود
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > تلویزیون و دستگاه های ورودی محدود کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
پلتفرم جهانی ویندوز (UWP)
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > سیستم عامل Windows Windows (UWP) کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "ID ID" ، مقدار ID ID منحصر به فرد و 12 کاراکتر Microsoft Store را وارد کنید. می توانید این شناسه را در URL Microsoft Store برنامه خود و در مرکز شریک پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
فایل JSON راز مشتری را بارگیری کنید
پرونده مخفی مشتری یک نمایندگی JSON از اعتبارنامه مشتری OAUTH است که برنامه شما می تواند هنگام ارائه اعتبارنامه به آن مراجعه کند.
در کنسول Google Cloud، به > APIs & Services > Credentials بروید.
تحت شناسه مشتری OAUTH 2.0 ، روی شناسه مشتری که ایجاد کرده اید کلیک کنید.
روی بارگیری JSON کلیک کنید.
پرونده را به عنوان
client_secrets.json
ذخیره کنید.
ایجاد و مشترک شدن در یک میخانه/زیر موضوع
در این بخش ، شما یک موضوع میخانه/فرعی و اشتراک در موضوع ایجاد می کنید. موضوع میخانه/فرعی شما به عنوان نقطه پایانی اعلان که در آن اشتراک فضای کاری Google شما رویدادها را دریافت می کند ، خدمت می کند.
برای کسب اطلاعات بیشتر در مورد ایجاد و مدیریت مباحث میخانه/فرعی ، به مستندات Pub/Sub مراجعه کنید.
برای ایجاد و مشترک شدن در یک میخانه/زیر موضوع:
کنسول Google Cloud
در کنسول Google Cloud ، به صفحه Pub/Sub بروید:
اطمینان حاصل کنید که پروژه ابری برای برنامه شما انتخاب شده است.
- نامی را برای موضوع خود وارد کنید ، مانند
workspace-events-topic
. - بگذارید یک اشتراک پیش فرض انتخاب شده را اضافه کنید . Pub/Sub نام این اشتراک پیش فرض شبیه به نام موضوع شما ، مانند
workspace-events-topic-sub
. - اختیاری: ویژگی های اضافی را برای موضوع خود به روز کنید یا پیکربندی کنید.
- نامی را برای موضوع خود وارد کنید ، مانند
روی ایجاد کلیک کنید. نام موضوع کامل شما به عنوان
projects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. شما در مرحله بعدی از این نام کامل استفاده می کنید.دسترسی به انتشار پیام های میخانه/زیر به موضوع خود را اعطا کنید:
- در صفحه موضوع خود به صفحه جانبی بروید و برگه مجوزها را باز کنید.
- روی افزودن اصلی کلیک کنید.
- در قسمت Add Principals ، حساب سرویس برنامه Google Workspace را اضافه کنید که رویدادهایی را به اشتراک شما ارائه می دهد:
- برای رویدادهای گپ ،
chat-api-push@system.gserviceaccount.com
. - برای دیدار با رویدادها ،
meet-api-event-push@system.gserviceaccount.com
.
- برای رویدادهای گپ ،
- در منوی Assign Gons ،
Pub/Sub Publisher
انتخاب کنید. - روی ذخیره کلیک کنید. برای به روزرسانی مجوزهای مربوط به موضوع شما می تواند چند دقیقه طول بکشد.
gcloud
در پروژه ابری خود ، با اجرای دستور زیر موضوعی ایجاد کنید:
gcloud pubsub topics create TOPIC_ID
برای موضوع خود با یک شناسه منحصر به فرد ، مانند
workspace-events-topic
با یک شناسهTOPIC_ID
جایگزین کنید.خروجی نام موضوعی کامل را نشان می دهد ، به عنوان
projects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. به این نام توجه داشته باشید و مطمئن شوید که مقدار PROJECT_ID شناسه پروژه Cloud برای برنامه شما است. شما در مرحله زیر از نام موضوع استفاده می کنید و بعداً اشتراک فضای Google را ایجاد می کنید.دسترسی به انتشار پیام ها به موضوع خود را اعطا کنید:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
موارد زیر را جایگزین کنید:
-
TOPIC_NAME
: نام موضوع کامل ، که خروجی از مرحله قبل است. به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. GOOGLE_WORKSPACE_APPLICATION
: برنامه فضای کاری Google که باید رویدادهایی را به اشتراک شما ارائه دهد:- برای دریافت رویدادها از گپ ، از
chat-api-push@system.gserviceaccount.com
استفاده کنید. - برای دریافت رویدادها از ملاقات ، از
meet-api-event-push@system.gserviceaccount.com
استفاده کنید.
- برای دریافت رویدادها از گپ ، از
برای به روزرسانی مجوزهای مربوط به موضوع شما می تواند چند دقیقه طول بکشد.
-
برای موضوع یک اشتراک میخانه/فرعی ایجاد کنید:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
موارد زیر را جایگزین کنید:
-
SUBSCRIPTION_NAME
: نامی برای اشتراک شما ، مانندworkspace-events-subscription
. -
TOPIC_NAME
: نام موضوع شما که در مرحله قبل ایجاد کرده اید.
-
مشترک در یک منبع فضای کاری Google
در این بخش ، شما در منبع Google Workspace که می خواهید برای رویدادها نظارت کنید ، مشترک می شوید.
منبع هدف را انتخاب و شناسایی کنید
در یک اشتراک فضای کاری Google ، منبع هدف منبع Google WorksPace است که شما برای رویدادها نظارت می کنید. منبع هدف در قسمت targetResource
اشتراک مشترک ، با استفاده از نام منابع کامل فرمت شده است. به عنوان مثال ، برای اشتراک که نظارت بر فضای گپ Google ( spaces/AAAABBBBBBB
) را دارد ، مقدار targetResource
//chat.googleapis.com/spaces/AAAABBBBBBB
است.
قبل از ایجاد اشتراک ، از بخش های زیر برای یادگیری نحوه شناسایی و قالب بندی منبع هدف استفاده کنید.
یک منبع هدف برای گپ را شناسایی کنید
منبع هدف | قالب | محدودیت ها |
---|---|---|
فضا | جایی که SPACE شناسه در نام منبع منبع | کاربر چت که به اشتراک اجازه می دهد باید از طریق فضای کاری Google یا حساب Google خود عضو این فضا باشد. |
همه فضاها برای یک کاربر | | این اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق فضای کاری Google یا حساب Google خود عضو آن است ، دریافت می کند. |
کاربر | جایی که USER شناسه در نام منبع منبع | اشتراک فقط رویدادهایی را در مورد کاربر دریافت می کند که اشتراک را مجاز می کند. کاربر نمی تواند از طرف دیگر کاربران اشتراک را مجاز کند. |
یک منبع هدف را برای ملاقات شناسایی کنید
منبع هدف | قالب | محدودیت ها (در صورت وجود) |
---|---|---|
فضای جلسه | //meet.googleapis.com/spaces/ SPACE جایی که SPACE شناسه در نام منابع منبع | |
کاربر | //cloudidentity.googleapis.com/users/ USER جایی که USER شناسه در قسمت | اشتراک در مورد فضاهای ملاقات که کاربر یکی از موارد زیر است ، رویدادهایی را دریافت می کند:
|
یک اشتراک فضای کاری Google ایجاد کنید
برای ایجاد یک اشتراک ، شما از روش subscriptions.create()
API Google Workspace Events استفاده می کنید. برای ایجاد یک منبع Subscription
. شما زمینه های زیر را مشخص می کنید:
-
targetResource
: یک فضای کاری Google که در بخش قبلی شناسایی کرده اید ، با استفاده از نام منبع کامل آن فرمت شده است. -
eventTypes
: مجموعه ای از یک یا چند نوع رویداد که می خواهید در مورد این منبع دریافت کنید. به عنوان مثال ، اگر برنامه شما فقط باید در مورد پیام های جدید ارسال شده در یک فضای گپ اطلاع داشته باشد ، برنامه شما فقط می تواند در رویدادهای مربوط به پیام های ایجاد شده مشترک باشد. -
notificationEndpoint
: یک نقطه پایانی اعلان که در آن اشتراک فضای کاری Google شما رویدادهایی را ارائه می دهد. شما از موضوع Pub/Sub که در بخش قبلی ایجاد کرده اید استفاده می کنید. -
payloadOptions
: گزینه هایی برای مشخص کردن میزان داده های منابع در بار بارگذاری رویداد. این پیکربندی بر زمان انقضا برای اشتراک شما تأثیر می گذارد. برای کسب اطلاعات بیشتر ، به داده های رویداد مراجعه کنید.
برای ایجاد اشتراک فضای کاری Google:
اسکریپت برنامه ها
در پروژه اسکریپت برنامه های خود ، یک پرونده اسکریپت جدید به نام
createSubscription
ایجاد کنید و کد زیر را اضافه کنید:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }
موارد زیر را جایگزین کنید:
-
TARGET_RESOURCE
: منبع فضای کاری Google که در آن مشترک هستید ، به عنوان نام کامل منابع آن فرمت شده است. به عنوان مثال ، برای عضویت در فضای چت Google با شناسه فضاییAAAABBBB
، از//chat.googleapis.com/spaces/AAAABBBB
استفاده کنید. -
EVENT_TYPES
: یک یا چند نوع رویداد که می خواهید در منبع هدف مشترک شوید. قالب به عنوان مجموعه ای از رشته ها مانند'google.workspace.chat.message.v1.created'
. -
TOPIC_NAME
: نام کامل موضوع Pub/Sub که در پروژه Cloud خود ایجاد کرده اید. به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. RESOURCE_DATA
: بولی که مشخص می کند اشتراک شامل داده های منابع در بار است:-
True
: شامل تمام داده های منابع است. برای محدود کردن کدام قسمت ها درج شده است ، قسمتfieldMask
را اضافه کرده و حداقل یک قسمت برای منبع تغییر یافته را مشخص کنید. فقط اشتراک برای پشتیبانی از منابع گپ از جمله داده های منابع. -
False
: داده های منابع را حذف می کند.
-
-
برای ایجاد اشتراک Google WorksPace ، عملکرد
createSubscription
در پروژه اسکریپت برنامه های خود اجرا کنید.
پایتون
در فهرست کار خود ، پرونده ای به نام
create_subscription.py
ایجاد کنید و کد زیر را اضافه کنید:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)
موارد زیر را جایگزین کنید:
-
SCOPES
: یک یا چند دامنه OAuth که از هر نوع رویداد برای اشتراک پشتیبانی می کنند. به عنوان مجموعه ای از رشته ها قالب بندی شده است. برای لیست چندین دامنه ، جدا از کاما. به عنوان مثال ،'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
. -
TARGET_RESOURCE
: منبع فضای کاری Google که در آن مشترک هستید ، به عنوان نام کامل منابع آن فرمت شده است. به عنوان مثال ، برای عضویت در فضای چت Google با شناسه فضاییAAAABBBB
، از//chat.googleapis.com/spaces/AAAABBBB
استفاده کنید. -
EVENT_TYPES
: یک یا چند نوع رویداد که می خواهید در منبع هدف مشترک شوید. قالب به عنوان مجموعه ای از رشته ها مانند'google.workspace.chat.message.v1.created'
. -
TOPIC_NAME
: نام کامل موضوع Pub/Sub که در پروژه Cloud خود ایجاد کرده اید. به عنوانprojects/ PROJECT_ID /topics/ TOPIC_ID
فرمت شده است. RESOURCE_DATA
: بولی که مشخص می کند اشتراک شامل داده های منابع در بار است:-
True
: شامل تمام داده های منابع است. برای محدود کردن کدام قسمت ها درج شده است ، قسمتfieldMask
را اضافه کرده و حداقل یک قسمت برای منبع تغییر یافته را مشخص کنید. فقط اشتراک برای پشتیبانی از منابع گپ از جمله داده های منابع. -
False
: داده های منابع را حذف می کند.
-
-
برای ایجاد اشتراک Google WorksPace ، موارد زیر را در ترمینال خود اجرا کنید:
python3 create_subscription.py
Google WorksPace Events API یک عملیات طولانی مدت را که شامل نمونه منبع Subscription
که شما ایجاد کرده اید ، برمی گرداند.
اشتراک فضای کاری Google خود را آزمایش کنید
برای آزمایش این که شما در حال دریافت رویدادهای Google Workspace هستید ، می توانید یک رویداد را ایجاد کرده و پیام ها را به اشتراک PUB/SUB بکشید.
برای آزمایش اشتراک فضای کاری Google خود:
کنسول Google Cloud
یک یا چند نوع رویداد را در منبع هدف اشتراک فضای کاری Google خود قرار دهید. به عنوان مثال ، اگر در فضای چت در پیام های جدید مشترک شده اید ، پیام را به فضا ارسال کنید.
در کنسول Google Cloud ، به صفحه Pub/Sub بروید:
اطمینان حاصل کنید که پروژه ابری برای برنامه شما انتخاب شده است.
در منوی میخانه/زیر ، روی اشتراک ها کلیک کنید.
در جدول ، اشتراک Pub/Sub را برای موضوع خود پیدا کرده و روی نام اشتراک کلیک کنید.
روی برگه پیام ها کلیک کنید.
روی Pull کلیک کنید. این می تواند تا چند دقیقه طول بکشد تا یک رویداد برای تولید یک میخانه/زیر پیام باشد.
gcloud
یک یا چند نوع رویداد را در منبع هدف اشتراک فضای کاری Google خود قرار دهید. به عنوان مثال ، اگر در فضای چت در پیام های جدید مشترک شده اید ، پیام را در فضا ارسال کنید.
دستور زیر را اجرا کنید:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
موارد زیر را جایگزین کنید:
-
PUBSUB_SUBSCRIPTION_NAME
: نام کامل اشتراک میخانه/ فرعی شما ، به عنوانprojects/ SUBSCRIPTION_ID /subscriptions/ SUBSCRIPTION_ID
فرمت شده است. -
MESSAGE_COUNT
: حداکثر تعداد پیام های میخانه/فرعی که می خواهید بکشید.
این می تواند تا چند دقیقه طول بکشد تا یک رویداد برای تولید یک میخانه/زیر پیام باشد.
-
برای هر رویداد Google Workspace که شما ایجاد کرده اید ، پیامی به اشتراک میخانه/فرعی شما ارائه می شود که شامل این رویداد است. برای جزئیات بیشتر ، به دریافت رویدادها به عنوان پیام های Google Cloud Pub/Sub مراجعه کنید.
نحوه دریافت برنامه خود را پیکربندی کنید
اشتراک میخانه/فرعی که شما ایجاد کرده اید ، مبتنی بر کشش است. بعد از اینکه تست کرده اید که اشتراک میخانه/فرعی خود را ، می توانید نوع تحویل را به روز کنید تا نحوه دریافت برنامه شما را تغییر دهد. به عنوان مثال ، می توانید اشتراک Pub/Sub را در نوع تحویل فشار پیکربندی کنید تا برنامه شما بتواند رویدادها را مستقیماً به نقطه پایانی برنامه دریافت کند.
برای کسب اطلاعات در مورد پیکربندی اشتراک میخانه/زیر ، به مستندات Pub/Sub مراجعه کنید.
موضوعات مرتبط
- آموزش: رویدادهای جلسات را با پایتون و Google Meet REST API مشاهده کنید
- اشتراک دریافت کنید
- فهرست اشتراک ها
- اشتراک را به روز کنید یا تمدید کنید
- خطاها را برطرف کنید و اشتراک را دوباره فعال کنید
- اشتراک را حذف کنید
در این صفحه نحوه استفاده از API رویدادهای Google Workspace برای ایجاد اشتراک در یک منبع فضای کاری Google توضیح داده شده است. یک اشتراک فضای کاری Google به برنامه شما اجازه می دهد تا اطلاعات مربوط به رویدادهای فضای کاری Google را دریافت کند ، که نشان دهنده تغییر در یک منبع فضای کاری Google است. برای کسب اطلاعات در مورد کدام منابع و انواع رویدادها از API رویدادهای Google Workspace پشتیبانی می کند ، به نمای کلی API رویدادهای Google Pace Events مراجعه کنید.
این صفحه شامل مراحل زیر برای ایجاد اشتراک فضای کاری Google است:
- محیط خود را تنظیم کنید.
- ایجاد و مشترک شدن در یک میخانه/Sub Pub Google Cloud. شما از این موضوع به عنوان یک نقطه پایانی برای دریافت رویدادهای فضای کاری Google استفاده می کنید.
- با روش
create()
برنامه های Google Pace Events در منبعSubscription
تماس بگیرید. - اشتراک فضای کاری Google خود را آزمایش کنید تا اطمینان حاصل شود که موضوع میخانه/زیر شما رویدادهایی را که در آن مشترک شده اید دریافت می کند.
- به صورت اختیاری ، نحوه فشار رویدادها را به یک نقطه پایانی برای برنامه خود پیکربندی کنید تا برنامه شما بتواند رویداد را پردازش کرده و در صورت لزوم اقدام کند.
پیش نیازها
اسکریپت برنامه ها
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای اولیه سازی
gcloud
CLI ، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با صورتحساب فعال شده است. برای اشتراک های مربوط به گپ ، شما همچنین باید API چت را در پروژه ابری خود فعال کرده و نام برنامه ، URL آواتار و زمینه های توضیحات را پیکربندی کنید. برای جزئیات بیشتر ، به ساخت یک برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه تنظیم شده است. هنگامی که صفحه رضایت را پیکربندی می کنید ، باید دامنه ای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی دامنه های مورد نیاز ، به Secopes Section مراجعه کنید.
- یک پروژه اسکریپت برنامه:
- از پروژه Google Cloud خود به جای پیش فرض ایجاد شده به طور خودکار توسط Script Apps استفاده کنید.
- برای هر حرکتی که برای پیکربندی صفحه رضایت OAuth اضافه کرده اید ، باید Scopes را به پرونده
appsscript.json
در پروژه اسکریپت برنامه های خود اضافه کنید. به عنوان مثال: - سرویس پیشرفته
Google Workspace Events
را فعال کنید .
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
پایتون
- پایتون 3.6 یا بیشتر
- ابزار مدیریت بسته PIP
- آخرین کتابخانه های مشتری Google برای پایتون. برای نصب یا به روزرسانی آنها ، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- برای استفاده از دستورات Google Cloud CLI در این راهنما:
- Google Cloud CLI را نصب کنید.
- برای اولیه سازی
gcloud
CLI ، کد زیر را اجرا کنید:
gcloud init
- یک پروژه Google Cloud با صورتحساب فعال شده است. برای اشتراک های مربوط به گپ ، شما همچنین باید API چت را در پروژه ابری خود فعال کرده و نام برنامه ، URL آواتار و زمینه های توضیحات را پیکربندی کنید. برای جزئیات بیشتر ، به ساخت یک برنامه Google Chat مراجعه کنید.
- نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه تنظیم شده است. هنگامی که صفحه رضایت را پیکربندی می کنید ، باید دامنه ای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی دامنه های مورد نیاز ، به Secopes Section مراجعه کنید.
محیط خود را تنظیم کنید
در بخش زیر نحوه تنظیم محیط خود قبل از ایجاد اشتراک فضای کاری Google توضیح داده شده است.
API Events Google Workspace API و Google Cloud Pub/Sub API را فعال کنید
قبل از استفاده از API های Google ، باید آنها را در یک پروژه Google Cloud روشن کنید. می توانید یک یا چند API را در یک پروژه Google Cloud واحد روشن کنید.کنسول Google Cloud
در کنسول Google Cloud ، پروژه Google Cloud را برای برنامه خود باز کنید و API و Pub/Sub API Google Workspace Events را فعال کنید:
gcloud
در فهرست کار خود ، وارد حساب Google خود شوید:
gcloud auth login
پروژه خود را برای برنامه خود روی پروژه Cloud تنظیم کنید:
gcloud config set project PROJECT_ID
PROJECT_ID
با شناسه پروژه برای پروژه Cloud برای برنامه خود جایگزین کنید.فعال کردن رویدادهای Google Workspace API و Google Cloud Pub/Sub API:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
اعتبار شناسه مشتری OAUTH ایجاد کنید
نوع برنامه خود را برای دستورالعمل های خاص در مورد نحوه ایجاد شناسه مشتری OAUTH انتخاب کنید:
برنامه وب
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > برنامه وب کلیک کنید.
- در قسمت نام ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- URI های مجاز مربوط به برنامه خود را اضافه کنید:
- برنامه های سمت مشتری (JavaScript) - نامزد مجاز جاوا اسکریپت ، روی Add URI کلیک کنید. سپس ، یک URI را وارد کنید تا برای درخواست های مرورگر استفاده کنید. این دامنه هایی را که برنامه شما می تواند درخواست های API را به سرور OAUTH 2.0 ارسال کند ، مشخص می کند.
- برنامه های سمت سرور (جاوا ، پایتون و موارد دیگر) - URIS تغییر مسیر مجاز ، روی Add URI کلیک کنید. سپس ، یک URI انتهایی را وارد کنید که سرور OAUTH 2.0 بتواند پاسخ ارسال کند.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر شناسه مشتری OAUTH 2.0 ظاهر می شود.
به شناسه مشتری توجه کنید. از اسرار مشتری برای برنامه های وب استفاده نمی شود.
اندروید
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > Android کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "نام بسته" ، نام بسته را از پرونده
AndroidManifest.xml
خود وارد کنید. - در قسمت "اثر انگشت SHA-1" ، اثر انگشت گواهی تولید SHA-1 خود را وارد کنید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
iOS
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > iOS کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "شناسه بسته" ، شناسه بسته نرم افزاری را همانطور که در پرونده
Info.plist
برنامه ذکر شده است وارد کنید. - اختیاری: اگر برنامه شما در فروشگاه App Apple ظاهر می شود ، شناسه App Store را وارد کنید.
- اختیاری: در قسمت "تیم شناسه" ، رشته 10 کاراکتر منحصر به فرد را که توسط اپل ایجاد شده است وارد کنید و به تیم خود اختصاص دهید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
برنامه کروم
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > پسوند Chrome کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "شناسه مورد" ، رشته شناسه 32 کاراکتر منحصر به فرد برنامه خود را وارد کنید. می توانید این مقدار شناسه را در URL فروشگاه وب Chrome برنامه خود و در داشبورد توسعه دهنده فروشگاه وب Chrome پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
برنامه دسکتاپ
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > برنامه دسک تاپ کلیک کنید.
- در قسمت نام ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
تلویزیون و دستگاه های ورودی محدود
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > تلویزیون و دستگاه های ورودی محدود کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
پلتفرم جهانی ویندوز (UWP)
- در کنسول Google Cloud ، به > > مشتری . منو بروید
- روی ایجاد مشتری کلیک کنید.
- روی نوع برنامه > سیستم عامل Windows Windows (UWP) کلیک کنید.
- در قسمت "Name" ، یک نام را برای اعتبار تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده شده است.
- در قسمت "ID ID" ، مقدار ID ID منحصر به فرد و 12 کاراکتر Microsoft Store را وارد کنید. می توانید این شناسه را در URL Microsoft Store برنامه خود و در مرکز شریک پیدا کنید.
- روی ایجاد کلیک کنید.
اعتبار تازه ایجاد شده در زیر "IDS مشتری OAUTH 2.0" ظاهر می شود.
فایل JSON راز مشتری را بارگیری کنید
The client secret file is a JSON representation of the OAuth client ID credentials that your app can reference when providing credentials.
در کنسول Google Cloud، به > APIs & Services > Credentials بروید.
Under OAuth 2.0 Client IDs , click the client ID that you created.
Click Download JSON .
Save the file as
client_secrets.json
.
Create and subscribe to a Pub/Sub topic
In this section, you create a Pub/Sub topic and subscription to the topic. Your Pub/Sub topic serves as the notification endpoint where your Google Workspace subscription receives events.
To learn more about creating and managing Pub/Sub topics, see the Pub/Sub documentation .
To create and subscribe to a Pub/Sub topic:
کنسول Google Cloud
In the Google Cloud console, go to the Pub/Sub page:
Make sure that the Cloud project for your app is selected.
Click
Create topic and do the following:- Enter a name for your topic, such as
workspace-events-topic
. - Leave Add a default subscription selected. Pub/Sub names this default subscription similar to your topic's name, such as
workspace-events-topic-sub
. - Optional: Update or configure additional properties for your topic.
- Enter a name for your topic, such as
روی ایجاد کلیک کنید. Your full topic name is formatted as
projects/ PROJECT_ID /topics/ TOPIC_ID
. You use this full name in a later step.Grant access to publish Pub/Sub messages to your topic:
- On your topic's page, go to the side panel and open the Permissions tab.
- Click Add Principal .
- In the Add principals field, add the service account for the Google Workspace application that delivers events to your subscription:
- For Chat events,
chat-api-push@system.gserviceaccount.com
. - For Meet events,
meet-api-event-push@system.gserviceaccount.com
.
- For Chat events,
- In the Assign roles menu, select
Pub/Sub Publisher
. - روی ذخیره کلیک کنید. It can take a few minutes to update the permissions for your topic.
gcloud
In your Cloud project, create a topic by running the following command:
gcloud pubsub topics create TOPIC_ID
Replace
TOPIC_ID
with a unique ID for your topic, such asworkspace-events-topic
.The output displays the full topic name, formatted as
projects/ PROJECT_ID /topics/ TOPIC_ID
. Make note of the name, and make sure the value for PROJECT_ID is the Cloud project ID for your app. You use the topic name in the following step, and to create the Google Workspace subscription later.Grant access to publish messages to your topic:
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
موارد زیر را جایگزین کنید:
-
TOPIC_NAME
: The full topic name, which is the output from the previous step. Formatted asprojects/ PROJECT_ID /topics/ TOPIC_ID
. GOOGLE_WORKSPACE_APPLICATION
: The Google Workspace application that must deliver events to your subscription:- To receive events from Chat, use
chat-api-push@system.gserviceaccount.com
. - To receive events from Meet, use
meet-api-event-push@system.gserviceaccount.com
.
- To receive events from Chat, use
It can take a few minutes to update the permissions for your topic.
-
Create a Pub/Sub subscription for the topic:
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
موارد زیر را جایگزین کنید:
-
SUBSCRIPTION_NAME
: A name for your subscription, such asworkspace-events-subscription
. -
TOPIC_NAME
: The name of your topic that you created in the previous step.
-
Subscribe to a Google Workspace resource
In this section, you subscribe to the Google Workspace resource that you want to monitor for events.
Choose and identify the target resource
In a Google Workspace subscription, the target resource is the Google Workspace resource that you monitor for events. The target resource is represented in the subscription's targetResource
field, formatted using the full resource name. For example, for a subscription that monitors a Google Chat space ( spaces/AAAABBBBBBB
), the value of the targetResource
is //chat.googleapis.com/spaces/AAAABBBBBBB
.
Before you create the subscription, use the following sections to learn how to identify and format the target resource.
Identify a target resource for Chat
Target resource | قالب | محدودیت ها |
---|---|---|
فضا | where SPACE is the ID in the resource name of the Chat API | The Chat user that authorizes the subscription must be a member of the space through their Google Workspace or Google Account. |
All spaces for a user | | The subscription only receives events for the spaces where the user is a member through their Google Workspace or Google Account. |
کاربر | where USER is the ID in the resource name of the Chat API | The subscription only receives events about the user that authorized the subscription. A user can't authorize a subscription on behalf of other users. |
Identify a target resource for Meet
Target resource | قالب | Limitations (if applicable) |
---|---|---|
فضای جلسه | //meet.googleapis.com/spaces/ SPACE where SPACE is the ID in the resource name of the Meet REST API | |
کاربر | //cloudidentity.googleapis.com/users/ USER where USER is the ID in the | The subscription receives events about meeting spaces where the user is one of the following:
|
Create a Google Workspace subscription
To create a subscription, you use the Google Workspace Events API's subscriptions.create()
method to create a Subscription
resource. You specify the following fields:
-
targetResource
: A Google Workspace that you identified in the previous section , formatted using its full resource name. -
eventTypes
: An array of one or more event types you want to receive about the resource. For example, if your app only needs to know about new messages posted to a Chat space, your app can just subscribe to events about created messages. -
notificationEndpoint
: A notification endpoint where your Google Workspace subscription delivers events. You use the Pub/Sub topic that you created in the previous section. -
payloadOptions
: Options to specify how much resource data to include in the event payload. This configuration affects the expiration time for your subscription. To learn more, see Event data .
To create a Google Workspace subscription:
اسکریپت برنامه ها
In your Apps Script project, create a new script file named
createSubscription
and add the following code:function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }
موارد زیر را جایگزین کنید:
-
TARGET_RESOURCE
: The Google Workspace resource that you're subscribing to, formatted as its full resource name. For example, to subscribe to a Google Chat space with the space IDAAAABBBB
, use//chat.googleapis.com/spaces/AAAABBBB
. -
EVENT_TYPES
: One or more event types that you want to subscribe to in the target resource. Format as an array of strings such as'google.workspace.chat.message.v1.created'
. -
TOPIC_NAME
: The full name of the Pub/Sub topic that you created in your Cloud project. Formatted asprojects/ PROJECT_ID /topics/ TOPIC_ID
. RESOURCE_DATA
: A boolean that specifies whether the subscription includes resource data in the payload:-
True
: Includes all resource data. To limit which fields are included, add thefieldMask
field and specify at least one field for the changed resource. Only subscriptions to Chat resources support including resource data. -
False
: Excludes resource data.
-
-
To create the Google Workspace subscription, run the function
createSubscription
in your Apps Script project.
پایتون
In your working directory, create a file named
create_subscription.py
and add the following code:"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)
موارد زیر را جایگزین کنید:
-
SCOPES
: One or more OAuth scopes that support each event type for the subscription. Formatted as an array of strings. To list multiple scopes, separate by commas. For example,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
. -
TARGET_RESOURCE
: The Google Workspace resource that you're subscribing to, formatted as its full resource name. For example, to subscribe to a Google Chat space with the space IDAAAABBBB
, use//chat.googleapis.com/spaces/AAAABBBB
. -
EVENT_TYPES
: One or more event types that you want to subscribe to in the target resource. Format as an array of strings such as'google.workspace.chat.message.v1.created'
. -
TOPIC_NAME
: The full name of the Pub/Sub topic that you created in your Cloud project. Formatted asprojects/ PROJECT_ID /topics/ TOPIC_ID
. RESOURCE_DATA
: A boolean that specifies whether the subscription includes resource data in the payload:-
True
: Includes all resource data. To limit which fields are included, add thefieldMask
field and specify at least one field for the changed resource. Only subscriptions to Chat resources support including resource data. -
False
: Excludes resource data.
-
-
To create the Google Workspace subscription, run the following in your terminal:
python3 create_subscription.py
The Google Workspace Events API returns a completed long-running operation that contains the instance of the Subscription
resource that you created.
Test your Google Workspace subscription
To test that you're receiving Google Workspace events, you can trigger an event and pull messages to the Pub/Sub subscription.
To test your Google Workspace subscription:
کنسول Google Cloud
Trigger one or more types of events in the target resource of your Google Workspace subscription. For example, if you've subscribed to new messages in a Chat space, post a message to the space.
In the Google Cloud console, go to the Pub/Sub page:
Make sure that the Cloud project for your app is selected.
In the Pub/Sub menu, click Subscriptions .
In the table, find the Pub/Sub subscription for your topic and click the subscription name.
Click the Messages tab.
روی Pull کلیک کنید. It can take up to a few minutes for an event to generate a Pub/Sub message.
gcloud
Trigger one or more types of events in the target resource of your Google Workspace subscription. For example, if you've subscribed to new messages in a Chat space, post a message in the space.
دستور زیر را اجرا کنید:
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
موارد زیر را جایگزین کنید:
-
PUBSUB_SUBSCRIPTION_NAME
: The full name of your Pub/Sub subscription, formatted asprojects/ SUBSCRIPTION_ID /subscriptions/ SUBSCRIPTION_ID
. -
MESSAGE_COUNT
: The maximum number of Pub/Sub messages you want to pull.
It can take up to a few minutes for an event to generate a Pub/Sub message.
-
For each Google Workspace event that you triggered, a message is delivered to your Pub/Sub subscription that contains the event. For details, see Receiving events as Google Cloud Pub/Sub messages .
Configure how your app receives events
The Pub/Sub subscription that you created is pull-based. After you've tested that your Pub/Sub subscription, you can update the delivery type to change how your app receives events. For example, you can configure the Pub/Sub subscription to a push delivery type, so that your app can receive events directly to an app endpoint.
To learn about configuring a Pub/Sub subscription, see the Pub/Sub documentation .