یک اشتراک Google Workspace ایجاد کنید

این صفحه نحوه استفاده از Google Workspace Events API برای ایجاد اشتراک در یک منبع Google Workspace را توضیح می دهد. اشتراک Google Workspace به برنامه شما اجازه می‌دهد اطلاعاتی درباره رویدادهای Google Workspace دریافت کند، که نشان‌دهنده تغییرات یک منبع Google Workspace است. برای آشنایی با منابع و انواع رویدادهای Google Workspace Events API، به نمای کلی API رویدادهای Google Workspace مراجعه کنید.

این صفحه شامل مراحل زیر برای ایجاد اشتراک Google Workspace است:

  1. محیط خود را تنظیم کنید.
  2. یک موضوع Google Cloud Pub/Sub ایجاد کنید و در آن مشترک شوید. شما از این موضوع به عنوان نقطه پایانی برای دریافت رویدادهای Google Workspace استفاده می کنید.
  3. متد create() API رویدادهای Google Workspace را در منبع Subscription فراخوانی کنید.
  4. اشتراک Google Workspace خود را آزمایش کنید تا مطمئن شوید که موضوع Pub/Sub شما رویدادهایی را دریافت می کند که در آنها مشترک شده اید.
  5. به صورت اختیاری، نحوه انتقال رویدادها به نقطه پایانی برای برنامه خود را پیکربندی کنید تا برنامه شما بتواند رویداد را پردازش کند و در صورت لزوم اقدامی انجام دهد.

پیش نیازها

اسکریپت برنامه ها

  • برای استفاده از دستورات Google Cloud CLI در این راهنما:
    1. Google Cloud CLI را نصب کنید.
    2. برای مقداردهی اولیه gcloud CLI، کد زیر را اجرا کنید:
    3.   gcloud init
        
  • یک پروژه Google Cloud با فعال کردن صورت‌حساب. برای اشتراک در Chat، همچنین باید Chat API را در پروژه Cloud خود فعال کنید و فیلدهای نام برنامه ، URL آواتار و توضیحات را پیکربندی کنید. برای جزئیات، به ساخت برنامه Google Chat مراجعه کنید.
  • نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه پیکربندی شده است. وقتی صفحه رضایت را پیکربندی می‌کنید، باید محدوده‌ای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی محدوده های مورد نیاز، به انتخاب محدوده ها مراجعه کنید.
  • پروژه Apps Script:
    • از پروژه Google Cloud خود به جای پروژه پیش‌فرض ایجاد شده توسط Apps Script استفاده کنید.
    • برای هر دامنه‌ای که برای پیکربندی صفحه رضایت OAuth اضافه کرده‌اید، باید دامنه‌ها را نیز به فایل appsscript.json در پروژه Apps Script خود اضافه کنید. به عنوان مثال:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • سرویس پیشرفته Google Workspace Events را فعال کنید .

پایتون

  • پایتون 3.6 یا بالاتر
  • ابزار مدیریت بسته پیپ
  • جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • برای استفاده از دستورات Google Cloud CLI در این راهنما:
    1. Google Cloud CLI را نصب کنید.
    2. برای مقداردهی اولیه gcloud CLI، کد زیر را اجرا کنید:
    3.   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 را فعال کنید:

API ها را فعال کنید

gcloud

  1. در فهرست کاری خود، وارد حساب Google خود شوید:

    gcloud auth login
  2. پروژه خود را روی پروژه Cloud برای برنامه خود تنظیم کنید:

    gcloud config set project PROJECT_ID

    شناسه پروژه پروژه Cloud را برای برنامه خود جایگزین PROJECT_ID کنید.

  3. فعال کردن Google Workspace Events API و Google Cloud Pub/Sub API:

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com

شناسه مشتری OAuth ایجاد کنید

نوع برنامه خود را برای دستورالعمل های خاص در مورد نحوه ایجاد شناسه مشتری OAuth انتخاب کنید:

برنامه وب

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > برنامه وب کلیک کنید.
  4. در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. URI های مجاز مرتبط با برنامه خود را اضافه کنید:
    • برنامه‌های سمت کلاینت (جاوا اسکریپت) - در زیر مبدا مجاز جاوا اسکریپت ، روی افزودن URI کلیک کنید. سپس، یک URI را برای استفاده برای درخواست های مرورگر وارد کنید. این دامنه‌هایی را که برنامه شما می‌تواند درخواست‌های API را به سرور OAuth 2.0 ارسال کند، مشخص می‌کند.
    • برنامه‌های سمت سرور (جاوا، پایتون و موارد دیگر) - در زیر URI‌های مجاز تغییر مسیر ، روی Add URI کلیک کنید. سپس، یک URI نقطه پایانی را وارد کنید که سرور OAuth 2.0 می‌تواند پاسخ‌ها را به آن ارسال کند.
  6. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.

    به شناسه مشتری توجه کنید. اسرار مشتری برای برنامه های کاربردی وب استفاده نمی شود.

  7. روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.

اندروید

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > Android کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت «نام بسته»، نام بسته را از فایل AndroidManifest.xml خود وارد کنید.
  6. در قسمت "اثر انگشت گواهی SHA-1"، اثر انگشت گواهینامه SHA-1 تولید شده خود را وارد کنید.
  7. روی ایجاد کلیک کنید. صفحه ایجاد شده سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری جدید شما را نشان می دهد.
  8. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

iOS

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > iOS کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت "Bundle ID"، شناسه بسته را همانطور که در فایل Info.plist برنامه ذکر شده است وارد کنید.
  6. اختیاری: اگر برنامه شما در Apple App Store ظاهر شد، شناسه فروشگاه App را وارد کنید.
  7. اختیاری: در قسمت "تیم ID"، رشته 10 کاراکتری منحصر به فرد را وارد کنید که توسط اپل تولید شده و به تیم شما اختصاص داده شده است.
  8. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  9. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

برنامه کروم

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > برنامه Chrome کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت «شناسه برنامه»، رشته شناسه منحصربه‌فرد 32 نویسه‌ای برنامه خود را وارد کنید. می‌توانید این مقدار شناسه را در URL فروشگاه وب Chrome برنامه خود و در داشبورد برنامه‌نویس فروشگاه وب Chrome پیدا کنید.
  6. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  7. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

برنامه دسکتاپ

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
  4. در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  6. روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.

تلویزیون ها و دستگاه های ورودی محدود

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > تلویزیون‌ها و دستگاه‌های ورودی محدود کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  6. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

پلتفرم جهانی ویندوز (UWP)

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > Universal Windows Platform (UWP) کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت «Store ID»، مقدار شناسه فروشگاه مایکروسافت 12 کاراکتری منحصر به فرد برنامه خود را وارد کنید. می‌توانید این شناسه را در URL فروشگاه مایکروسافت برنامه‌تان و در مرکز شریک پیدا کنید.
  6. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  7. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

فایل JSON مخفی مشتری را دانلود کنید

فایل مخفی سرویس گیرنده یک نمایش JSON از اعتبارنامه های شناسه مشتری OAuth است که برنامه شما می تواند هنگام ارائه اعتبارنامه به آن ارجاع دهد.

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. در بخش شناسه‌های مشتری OAuth 2.0 ، روی شناسه مشتری که ایجاد کرده‌اید کلیک کنید.

  3. روی دانلود JSON کلیک کنید.

  4. فایل را به عنوان client_secrets.json ذخیره کنید.

موضوع Pub/Sub را ایجاد کرده و در آن مشترک شوید

در این بخش، شما یک موضوع Pub/Sub ایجاد می کنید و در آن موضوع اشتراک می کنید. موضوع Pub/Sub شما به عنوان نقطه پایانی اعلان است که اشتراک Google Workspace شما رویدادها را دریافت می کند.

برای کسب اطلاعات بیشتر در مورد ایجاد و مدیریت موضوعات Pub/Sub، به مستندات Pub/Sub مراجعه کنید.

برای ایجاد و اشتراک در یک موضوع Pub/Sub:

کنسول Google Cloud

  1. در کنسول Google Cloud، به صفحه Pub/Sub بروید:

    به Google Cloud Pub/Sub بروید

    مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.

  2. روی Create موضوع کلیک کنید و کارهای زیر را انجام دهید:

    1. یک نام برای موضوع خود وارد کنید، مانند workspace-events-topic .
    2. افزودن اشتراک پیش‌فرض را انتخاب کنید. Pub/Sub این اشتراک پیش‌فرض را مشابه نام موضوع شما نام‌گذاری می‌کند، مانند workspace-events-topic-sub .
    3. اختیاری: ویژگی های اضافی را برای موضوع خود به روز کنید یا پیکربندی کنید.
  3. روی ایجاد کلیک کنید. نام کامل موضوع شما به صورت projects/ PROJECT_ID /topics/ TOPIC_ID قالب‌بندی شده است. شما از این نام کامل در مرحله بعد استفاده می کنید.

  4. اجازه دسترسی به انتشار پیام‌های Pub/Sub به موضوع خود را بدهید:

    1. در صفحه موضوع خود، به پانل کناری بروید و تب Permissions را باز کنید.
    2. روی Add Principal کلیک کنید.
    3. در قسمت افزودن اصول ، حساب سرویس را برای برنامه Google Workspace اضافه کنید که رویدادها را به اشتراک شما ارائه می‌کند:
      1. برای رویدادهای گپ، chat-api-push@system.gserviceaccount.com .
      2. برای رویدادهای Meet، meet-api-event-push@system.gserviceaccount.com .
    4. در منوی Assign roles ، Pub/Sub Publisher انتخاب کنید.
    5. روی ذخیره کلیک کنید. ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.

gcloud

  1. در پروژه Cloud خود با اجرای دستور زیر یک موضوع ایجاد کنید:

    gcloud pubsub topics create TOPIC_ID

    TOPIC_ID با یک شناسه منحصر به فرد برای موضوع خود جایگزین کنید، مانند workspace-events-topic .

    خروجی نام کامل موضوع را با قالب بندی projects/ PROJECT_ID /topics/ TOPIC_ID نمایش می دهد. نام را یادداشت کنید و مطمئن شوید که مقدار PROJECT_ID شناسه پروژه Cloud برای برنامه شما باشد. در مرحله زیر از نام موضوع استفاده می‌کنید و بعداً اشتراک Google Workspace را ایجاد می‌کنید.

  2. اجازه دسترسی به انتشار پیام های موضوع خود را بدهید:

    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 استفاده کنید.

    ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.

  3. یک اشتراک 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 است.

قبل از ایجاد اشتراک، از بخش‌های زیر برای یادگیری نحوه شناسایی و قالب‌بندی منبع هدف استفاده کنید.

یک منبع هدف برای چت شناسایی کنید

منبع هدف قالب محدودیت ها
فضا

//chat.googleapis.com/spaces/ SPACE

که در آن SPACE شناسه در نام منبع منبع space Chat API است. می‌توانید شناسه را از URL فضا یا با استفاده از متد spaces.list() دریافت کنید.

کاربر گپ که اشتراک را مجاز می‌کند، باید از طریق Google Workspace یا حساب Google خود عضو فضا باشد.
همه فضاها برای یک کاربر

//chat.googleapis.com/spaces/-

اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق Google Workspace یا حساب Google در آن عضو است دریافت می کند.
کاربر

//cloudidentity.googleapis.com/users/ USER

که در آن USER شناسه در نام منبع منبع user Chat API است. برای جزئیات، به شناسایی و تعیین کاربران گپ Google مراجعه کنید.

اشتراک فقط رویدادهای مربوط به کاربری را دریافت می کند که اشتراک را مجاز کرده است. کاربر نمی‌تواند از طرف دیگر کاربران اجازه اشتراک بدهد.

یک منبع هدف برای Meet شناسایی کنید

منبع هدف قالب محدودیت ها (در صورت وجود)
فضای جلسه //meet.googleapis.com/spaces/ SPACE

که در آن SPACE شناسه در نام منبع منبع space Meet REST API است. برای جزئیات، ببینید چگونه Meet یک فضای جلسه را شناسایی می‌کند .

کاربر //cloudidentity.googleapis.com/users/ USER

که در آن USER شناسه در قسمت signedinUser.user منبع participant Meet REST API است. برای جزئیات، به کار با شرکت کنندگان مراجعه کنید.

اشتراک رویدادهایی را درباره فضاهای جلسه دریافت می کند که کاربر یکی از موارد زیر است:

یک اشتراک Google Workspace ایجاد کنید

برای ایجاد اشتراک، از متد subscriptions.create() API رویدادهای Google Workspace برای ایجاد یک منبع Subscription استفاده می‌کنید. شما فیلدهای زیر را مشخص می کنید:

  • targetResource : یک فضای Google Workspace که در بخش قبلی شناسایی کرده‌اید و با استفاده از نام کامل منبع آن قالب‌بندی شده است.
  • eventTypes : آرایه ای از یک یا چند نوع رویداد که می خواهید در مورد منبع دریافت کنید. برای مثال، اگر برنامه شما فقط باید از پیام‌های جدید ارسال شده در فضای گپ مطلع باشد، برنامه شما فقط می‌تواند در رویدادهای مربوط به پیام‌های ایجاد شده مشترک شود.
  • notificationEndpoint : یک نقطه پایانی اعلان که اشتراک Google Workspace شما رویدادها را در آن ارائه می دهد. شما از موضوع Pub/Sub که در قسمت قبل ایجاد کردید استفاده می کنید.
  • payloadOptions : گزینه‌هایی برای تعیین مقدار داده‌های منبع در بارگذاری رویداد. این پیکربندی بر زمان انقضای اشتراک شما تأثیر می گذارد. برای کسب اطلاعات بیشتر، داده‌های رویداد را ببینید.

برای ایجاد اشتراک Google Workspace:

اسکریپت برنامه ها

  1. در پروژه 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 : داده های منبع را مستثنی می کند.
  2. برای ایجاد اشتراک Google Workspace، تابع createSubscription را در پروژه Apps Script خود اجرا کنید.

پایتون

  1. در پوشه کاری خود، یک فایل به نام 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 : داده های منبع را مستثنی می کند.
  2. برای ایجاد اشتراک Google Workspace، موارد زیر را در ترمینال خود اجرا کنید:

    python3 create_subscription.py

Google Workspace Events API یک عملیات طولانی‌مدت کامل را برمی‌گرداند که حاوی نمونه‌ای از منبع Subscription است که ایجاد کرده‌اید.

اشتراک Google Workspace خود را آزمایش کنید

برای آزمایش اینکه رویدادهای Google Workspace را دریافت می‌کنید، می‌توانید یک رویداد را فعال کنید و پیام‌ها را به اشتراک Pub/Sub بکشید.

برای آزمایش اشتراک Google Workspace:

کنسول Google Cloud

  1. یک یا چند نوع رویداد را در منبع هدف اشتراک Google Workspace خود راه اندازی کنید. برای مثال، اگر مشترک پیام‌های جدیدی در فضای چت شده‌اید، پیامی را در فضای چت پست کنید.

  2. در کنسول Google Cloud، به صفحه Pub/Sub بروید:

    به Pub/Sub بروید

    مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.

  3. در منوی Pub/Sub ، روی اشتراک‌ها کلیک کنید.

  4. در جدول، اشتراک Pub/Sub را برای موضوع خود پیدا کنید و روی نام اشتراک کلیک کنید.

  5. روی تب Messages کلیک کنید.

  6. روی Pull کلیک کنید. ممکن است چند دقیقه طول بکشد تا یک رویداد یک پیام Pub/Sub ایجاد کند.

gcloud

  1. یک یا چند نوع رویداد را در منبع هدف اشتراک Google Workspace خود راه اندازی کنید. برای مثال، اگر مشترک پیام‌های جدیدی در فضای چت شده‌اید، پیامی را در آن فضا ارسال کنید.

  2. دستور زیر را اجرا کنید:

    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 Workspace Events API برای ایجاد اشتراک در یک منبع Google Workspace را توضیح می دهد. اشتراک Google Workspace به برنامه شما اجازه می‌دهد اطلاعاتی درباره رویدادهای Google Workspace دریافت کند، که نشان‌دهنده تغییرات یک منبع Google Workspace است. برای آشنایی با منابع و انواع رویدادهای Google Workspace Events API، به نمای کلی API رویدادهای Google Workspace مراجعه کنید.

این صفحه شامل مراحل زیر برای ایجاد اشتراک Google Workspace است:

  1. محیط خود را تنظیم کنید.
  2. یک موضوع Google Cloud Pub/Sub ایجاد کنید و در آن مشترک شوید. شما از این موضوع به عنوان نقطه پایانی برای دریافت رویدادهای Google Workspace استفاده می کنید.
  3. متد create() API رویدادهای Google Workspace را در منبع Subscription فراخوانی کنید.
  4. اشتراک Google Workspace خود را آزمایش کنید تا مطمئن شوید که موضوع Pub/Sub شما رویدادهایی را دریافت می کند که در آنها مشترک شده اید.
  5. به صورت اختیاری، نحوه انتقال رویدادها به نقطه پایانی برای برنامه خود را پیکربندی کنید تا برنامه شما بتواند رویداد را پردازش کند و در صورت لزوم اقدامی انجام دهد.

پیش نیازها

اسکریپت برنامه ها

  • برای استفاده از دستورات Google Cloud CLI در این راهنما:
    1. Google Cloud CLI را نصب کنید.
    2. برای مقداردهی اولیه gcloud CLI، کد زیر را اجرا کنید:
    3.   gcloud init
        
  • یک پروژه Google Cloud با فعال کردن صورت‌حساب. برای اشتراک در Chat، همچنین باید Chat API را در پروژه Cloud خود فعال کنید و فیلدهای نام برنامه ، URL آواتار و توضیحات را پیکربندی کنید. برای جزئیات، به ساخت برنامه Google Chat مراجعه کنید.
  • نیاز به احراز هویت کاربر با صفحه رضایت OAuth که برای برنامه پیکربندی شده است. وقتی صفحه رضایت را پیکربندی می‌کنید، باید محدوده‌ای را برای پشتیبانی از هر نوع رویداد برای اشتراک مشخص کنید. برای پیکربندی صفحه رضایت و شناسایی محدوده های مورد نیاز، به انتخاب محدوده ها مراجعه کنید.
  • پروژه Apps Script:
    • از پروژه Google Cloud خود به جای پروژه پیش‌فرض ایجاد شده توسط Apps Script استفاده کنید.
    • برای هر دامنه‌ای که برای پیکربندی صفحه رضایت OAuth اضافه کرده‌اید، باید دامنه‌ها را نیز به فایل appsscript.json در پروژه Apps Script خود اضافه کنید. به عنوان مثال:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • سرویس پیشرفته Google Workspace Events را فعال کنید .

پایتون

  • پایتون 3.6 یا بالاتر
  • ابزار مدیریت بسته پیپ
  • جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • برای استفاده از دستورات Google Cloud CLI در این راهنما:
    1. Google Cloud CLI را نصب کنید.
    2. برای مقداردهی اولیه gcloud CLI، کد زیر را اجرا کنید:
    3.   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 را فعال کنید:

API ها را فعال کنید

gcloud

  1. در فهرست کاری خود، وارد حساب Google خود شوید:

    gcloud auth login
  2. پروژه خود را روی پروژه Cloud برای برنامه خود تنظیم کنید:

    gcloud config set project PROJECT_ID

    شناسه پروژه پروژه Cloud را برای برنامه خود جایگزین PROJECT_ID کنید.

  3. فعال کردن Google Workspace Events API و Google Cloud Pub/Sub API:

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com

شناسه مشتری OAuth ایجاد کنید

نوع برنامه خود را برای دستورالعمل های خاص در مورد نحوه ایجاد شناسه مشتری OAuth انتخاب کنید:

برنامه وب

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > برنامه وب کلیک کنید.
  4. در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. URI های مجاز مرتبط با برنامه خود را اضافه کنید:
    • برنامه‌های سمت کلاینت (جاوا اسکریپت) - در زیر مبدا مجاز جاوا اسکریپت ، روی افزودن URI کلیک کنید. سپس، یک URI را برای استفاده برای درخواست های مرورگر وارد کنید. این دامنه‌هایی را که برنامه شما می‌تواند درخواست‌های API را به سرور OAuth 2.0 ارسال کند، مشخص می‌کند.
    • برنامه‌های سمت سرور (جاوا، پایتون و موارد دیگر) - در زیر URI‌های مجاز تغییر مسیر ، روی Add URI کلیک کنید. سپس، یک URI نقطه پایانی را وارد کنید که سرور OAuth 2.0 می‌تواند پاسخ‌ها را به آن ارسال کند.
  6. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.

    به شناسه مشتری توجه کنید. اسرار مشتری برای برنامه های کاربردی وب استفاده نمی شود.

  7. روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.

اندروید

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > Android کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت «نام بسته»، نام بسته را از فایل AndroidManifest.xml خود وارد کنید.
  6. در قسمت "اثر انگشت گواهی SHA-1"، اثر انگشت گواهینامه SHA-1 تولید شده خود را وارد کنید.
  7. روی ایجاد کلیک کنید. صفحه ایجاد شده سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری جدید شما را نشان می دهد.
  8. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

iOS

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > iOS کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت "Bundle ID"، شناسه بسته را همانطور که در فایل Info.plist برنامه ذکر شده است وارد کنید.
  6. اختیاری: اگر برنامه شما در Apple App Store ظاهر شد، شناسه فروشگاه App را وارد کنید.
  7. اختیاری: در قسمت "تیم ID"، رشته 10 کاراکتری منحصر به فرد را وارد کنید که توسط اپل تولید شده و به تیم شما اختصاص داده شده است.
  8. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  9. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

برنامه کروم

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > برنامه Chrome کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت «شناسه برنامه»، رشته شناسه منحصربه‌فرد 32 نویسه‌ای برنامه خود را وارد کنید. می‌توانید این مقدار شناسه را در URL فروشگاه وب Chrome برنامه خود و در داشبورد برنامه‌نویس فروشگاه وب Chrome پیدا کنید.
  6. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  7. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

برنامه دسکتاپ

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
  4. در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  6. روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.

تلویزیون ها و دستگاه های ورودی محدود

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > تلویزیون‌ها و دستگاه‌های ورودی محدود کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  6. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

پلتفرم جهانی ویندوز (UWP)

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
  3. روی نوع برنامه > Universal Windows Platform (UWP) کلیک کنید.
  4. در قسمت "Name" یک نام برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
  5. در قسمت «Store ID»، مقدار شناسه فروشگاه مایکروسافت 12 کاراکتری منحصر به فرد برنامه خود را وارد کنید. می‌توانید این شناسه را در URL فروشگاه مایکروسافت برنامه‌تان و در مرکز شریک پیدا کنید.
  6. روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
  7. روی OK کلیک کنید. اعتبار جدید ایجاد شده در زیر "OAuth 2.0 Client IDs" ظاهر می شود.

فایل JSON مخفی مشتری را دانلود کنید

فایل مخفی سرویس گیرنده یک نمایش JSON از اعتبارنامه های شناسه مشتری OAuth است که برنامه شما می تواند هنگام ارائه اعتبارنامه به آن ارجاع دهد.

  1. در کنسول Google Cloud، به منو > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. در بخش شناسه‌های مشتری OAuth 2.0 ، روی شناسه مشتری که ایجاد کرده‌اید کلیک کنید.

  3. روی دانلود JSON کلیک کنید.

  4. فایل را به عنوان client_secrets.json ذخیره کنید.

موضوع Pub/Sub را ایجاد کرده و در آن مشترک شوید

در این بخش، شما یک موضوع Pub/Sub ایجاد می کنید و در آن موضوع اشتراک می کنید. موضوع Pub/Sub شما به عنوان نقطه پایانی اعلان است که اشتراک Google Workspace شما رویدادها را دریافت می کند.

برای کسب اطلاعات بیشتر در مورد ایجاد و مدیریت موضوعات Pub/Sub، به مستندات Pub/Sub مراجعه کنید.

برای ایجاد و اشتراک در یک موضوع Pub/Sub:

کنسول Google Cloud

  1. در کنسول Google Cloud، به صفحه Pub/Sub بروید:

    به Google Cloud Pub/Sub بروید

    مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.

  2. روی Create موضوع کلیک کنید و کارهای زیر را انجام دهید:

    1. یک نام برای موضوع خود وارد کنید، مانند workspace-events-topic .
    2. افزودن اشتراک پیش‌فرض را انتخاب کنید. Pub/Sub این اشتراک پیش‌فرض را مشابه نام موضوع شما نام‌گذاری می‌کند، مانند workspace-events-topic-sub .
    3. اختیاری: ویژگی های اضافی را برای موضوع خود به روز کنید یا پیکربندی کنید.
  3. روی ایجاد کلیک کنید. نام کامل موضوع شما به صورت projects/ PROJECT_ID /topics/ TOPIC_ID قالب‌بندی شده است. شما از این نام کامل در مرحله بعد استفاده می کنید.

  4. اجازه دسترسی به انتشار پیام‌های Pub/Sub به موضوع خود را بدهید:

    1. در صفحه موضوع خود، به پانل کناری بروید و تب Permissions را باز کنید.
    2. روی Add Principal کلیک کنید.
    3. در قسمت افزودن اصول ، حساب سرویس را برای برنامه Google Workspace اضافه کنید که رویدادها را به اشتراک شما ارائه می‌کند:
      1. برای رویدادهای گپ، chat-api-push@system.gserviceaccount.com .
      2. برای رویدادهای Meet، meet-api-event-push@system.gserviceaccount.com .
    4. در منوی Assign roles ، Pub/Sub Publisher انتخاب کنید.
    5. روی ذخیره کلیک کنید. ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.

gcloud

  1. در پروژه Cloud خود با اجرای دستور زیر یک موضوع ایجاد کنید:

    gcloud pubsub topics create TOPIC_ID

    TOPIC_ID با یک شناسه منحصر به فرد برای موضوع خود جایگزین کنید، مانند workspace-events-topic .

    خروجی نام کامل موضوع را با قالب بندی projects/ PROJECT_ID /topics/ TOPIC_ID نمایش می دهد. نام را یادداشت کنید و مطمئن شوید که مقدار PROJECT_ID شناسه پروژه Cloud برای برنامه شما باشد. در مرحله زیر از نام موضوع استفاده می‌کنید و بعداً اشتراک Google Workspace را ایجاد می‌کنید.

  2. اجازه دسترسی به انتشار پیام های موضوع خود را بدهید:

    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 استفاده کنید.

    ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.

  3. یک اشتراک 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 است.

قبل از ایجاد اشتراک، از بخش‌های زیر برای یادگیری نحوه شناسایی و قالب‌بندی منبع هدف استفاده کنید.

یک منبع هدف برای چت شناسایی کنید

منبع هدف قالب محدودیت ها
فضا

//chat.googleapis.com/spaces/ SPACE

که در آن SPACE شناسه در نام منبع منبع space Chat API است. می‌توانید شناسه را از URL فضا یا با استفاده از متد spaces.list() دریافت کنید.

کاربر گپ که اشتراک را مجاز می‌کند، باید از طریق Google Workspace یا حساب Google خود عضو فضا باشد.
همه فضاها برای یک کاربر

//chat.googleapis.com/spaces/-

اشتراک فقط رویدادهایی را برای فضاهایی که کاربر از طریق Google Workspace یا حساب Google در آن عضو است دریافت می کند.
کاربر

//cloudidentity.googleapis.com/users/ USER

که در آن USER شناسه در نام منبع منبع user Chat API است. برای جزئیات، به شناسایی و تعیین کاربران گپ Google مراجعه کنید.

اشتراک فقط رویدادهای مربوط به کاربری را دریافت می کند که اشتراک را مجاز کرده است. کاربر نمی‌تواند از طرف دیگر کاربران اجازه اشتراک بدهد.

یک منبع هدف برای Meet شناسایی کنید

منبع هدف قالب محدودیت ها (در صورت وجود)
فضای جلسه //meet.googleapis.com/spaces/ SPACE

که در آن SPACE شناسه در نام منبع منبع space Meet REST API است. برای جزئیات، ببینید چگونه Meet یک فضای جلسه را شناسایی می‌کند .

کاربر //cloudidentity.googleapis.com/users/ USER

که در آن USER شناسه در قسمت signedinUser.user منبع participant Meet REST API است. برای جزئیات، به کار با شرکت کنندگان مراجعه کنید.

اشتراک رویدادهایی را درباره فضاهای جلسه دریافت می کند که کاربر یکی از موارد زیر است:

یک اشتراک Google Workspace ایجاد کنید

برای ایجاد اشتراک، از متد subscriptions.create() API رویدادهای Google Workspace برای ایجاد یک منبع Subscription استفاده می‌کنید. شما فیلدهای زیر را مشخص می کنید:

  • targetResource : یک فضای Google Workspace که در بخش قبلی شناسایی کرده‌اید و با استفاده از نام کامل منبع آن قالب‌بندی شده است.
  • eventTypes : آرایه ای از یک یا چند نوع رویداد که می خواهید در مورد منبع دریافت کنید. برای مثال، اگر برنامه شما فقط باید از پیام‌های جدید ارسال شده در فضای گپ مطلع باشد، برنامه شما فقط می‌تواند در رویدادهای مربوط به پیام‌های ایجاد شده مشترک شود.
  • notificationEndpoint : یک نقطه پایانی اعلان که اشتراک Google Workspace شما رویدادها را در آن ارائه می دهد. شما از موضوع Pub/Sub که در قسمت قبل ایجاد کردید استفاده می کنید.
  • payloadOptions : گزینه‌هایی برای تعیین مقدار داده‌های منبع در بارگذاری رویداد. این پیکربندی بر زمان انقضای اشتراک شما تأثیر می گذارد. برای کسب اطلاعات بیشتر، داده‌های رویداد را ببینید.

برای ایجاد اشتراک Google Workspace:

اسکریپت برنامه ها

  1. در پروژه 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 : داده های منبع را مستثنی می کند.
  2. برای ایجاد اشتراک Google Workspace، تابع createSubscription را در پروژه Apps Script خود اجرا کنید.

پایتون

  1. در پوشه کاری خود، یک فایل به نام 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 : داده های منبع را مستثنی می کند.
  2. برای ایجاد اشتراک Google Workspace، موارد زیر را در ترمینال خود اجرا کنید:

    python3 create_subscription.py

Google Workspace Events API یک عملیات طولانی‌مدت کامل را برمی‌گرداند که حاوی نمونه‌ای از منبع Subscription است که ایجاد کرده‌اید.

اشتراک Google Workspace خود را آزمایش کنید

برای آزمایش اینکه رویدادهای Google Workspace را دریافت می‌کنید، می‌توانید یک رویداد را فعال کنید و پیام‌ها را به اشتراک Pub/Sub بکشید.

برای آزمایش اشتراک Google Workspace:

کنسول Google Cloud

  1. یک یا چند نوع رویداد را در منبع هدف اشتراک Google Workspace خود راه اندازی کنید. برای مثال، اگر مشترک پیام‌های جدیدی در فضای چت شده‌اید، پیامی را در فضای چت پست کنید.

  2. در کنسول Google Cloud، به صفحه Pub/Sub بروید:

    به Pub/Sub بروید

    مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.

  3. در منوی Pub/Sub ، روی اشتراک‌ها کلیک کنید.

  4. در جدول، اشتراک Pub/Sub را برای موضوع خود پیدا کنید و روی نام اشتراک کلیک کنید.

  5. روی تب Messages کلیک کنید.

  6. روی Pull کلیک کنید. ممکن است چند دقیقه طول بکشد تا یک رویداد یک پیام Pub/Sub ایجاد کند.

gcloud

  1. یک یا چند نوع رویداد را در منبع هدف اشتراک Google Workspace خود راه اندازی کنید. برای مثال، اگر مشترک پیام‌های جدیدی در فضای چت شده‌اید، پیامی را در آن فضا ارسال کنید.

  2. دستور زیر را اجرا کنید:

    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 مراجعه کنید.