יצירת מינוי ל-Google Workspace

בדף הזה מוסבר איך משתמשים ב-Google Workspace Event API כדי ליצור למינוי למשאב של Google Workspace. מינוי ל-Google Workspace מאפשרת לאפליקציה לקבל מידע על אירועים של Google Workspace. שמייצגים שינויים במשאב של Google Workspace. כדי ללמוד על ב-Google Workspace Event API אפשר לעיין במקורות המידע ובסוגי האירועים שנתמכים. הסקירה הכללית על Google Workspace Event API

הדף הזה כולל את השלבים הבאים ליצירת חשבון Google Workspace מינוי:

  1. מגדירים את הסביבה.
  2. יוצרים נושא Google Cloud Pub/Sub ונרשמים אליו. השתמשת בנושא הזה בתור נקודת קצה לקבלת אירועים של Google Workspace.
  3. קוראים ל-create() של Google Workspace Event API ב-method Subscription משאב.
  4. צריך לבדוק את המינוי ל-Google Workspace כדי לוודא שחשבון Pub/Sub הנושא מקבל אירועים שנרשמת אליהם.
  5. אפשר גם להגדיר איך לדחוף אירועים לנקודת קצה באפליקציה. שהאפליקציה תוכל לעבד את האירוע, ובמקרה הצורך, לנקוט פעולה.

דרישות מוקדמות

Apps Script

  • כדי להשתמש בפקודות של Google Cloud CLI במדריך הזה:
    1. מתקינים את Google Cloud CLI.
    2. אל לאתחל את gcloud CLI, להריץ את הקוד הבא:
    3.   gcloud init
        
  • פרויקט ב-Google Cloud עם חיוב מופעל. כדי להירשם ל-Chat, תצטרכו גם להפעיל את Chat API בפרויקט שלכם בענן להגדיר את שם האפליקציה, כתובת ה-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.

Python

  • Python 3.6 ומעלה
  • הכלי לניהול חבילות pip
  • ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה הפקודה בממשק שורת הפקודה:
      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 בפרויקט שלכם בענן להגדיר את שם האפליקציה, כתובת ה-URL של הדמות והתיאור. . פרטים נוספים זמינים במאמר איך מפתחים אפליקציה של Google Chat
  • נדרש אימות משתמש עם מסך ההסכמה של OAuth שהוגדר עבור את האפליקציה. כשמגדירים את מסך ההסכמה, צריך לציין היקף כדי תומכים בכל סוג אירוע של המינוי. כדי להגדיר את ההסכמה לזהות את ההיקפים הנדרשים, בחירת היקפים

הגדרת הסביבה

בקטע הבא מוסבר איך להגדיר את הסביבה לפני שיוצרים מינוי ל-Google Workspace.

הפעלה של Google Workspace Event API ו-Google Cloud Pub/Sub API

לפני שמשתמשים ב-Google APIs, צריך להפעיל אותם בפרויקט ב-Google Cloud. אפשר להפעיל ממשק API אחד או יותר בפרויקט אחד ב-Google Cloud.

מסוף Google Cloud

במסוף Google Cloud, פותחים את פרויקט Google Cloud של האפליקציה ומפעילים את Google Workspace Event API ו-Pub/Sub API:

הפעלת ממשקי ה-API

gcloud

  1. בספריית העבודה, נכנסים לחשבון Google:

    gcloud auth login
    
  2. מגדירים את הפרויקט לפרויקט Cloud של האפליקציה:

    gcloud config set project PROJECT_ID
    

    מחליפים את PROJECT_ID ב- מזהה הפרויקט של הפרויקט ב-Cloud של האפליקציה.

  3. הפעלה של Google Workspace Event API ו-Google Cloud Pub/Sub API:

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

יצירת פרטי כניסה למזהה הלקוח ב-OAuth

בוחרים את סוג האפליקציה כדי לקבל הוראות ספציפיות ליצירת מזהה לקוח OAuth:

אפליקציית אינטרנט

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על Application type (סוג אפליקציה) > Web application.
  4. בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. הוספת מזהי URI מורשים שקשורים לאפליקציה:
    • אפליקציות בצד הלקוח (JavaScript) – בקטע מקורות JavaScript מורשים, לוחצים על הוספת URI. לאחר מכן, מזינים URI שישמש לבקשות דפדפן. הנתון הזה מזהה את הדומיינים שמהם האפליקציה יכולה לשלוח בקשות API לשרת OAuth 2.0.
    • אפליקציות בצד השרת (Java, Python ועוד) – בקטע מזהי URI מורשים להפניה אוטומטית, לוחצים על הוספת URI. לאחר מכן, מזינים URI של נקודת קצה שאליה שרת OAuth 2.0 יכול לשלוח תשובות.
  6. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.

    שימו לב למזהה הלקוח. באפליקציות אינטרנט אי אפשר להשתמש בסודות של לקוחות.

  7. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע מזהי לקוחות OAuth 2.0.

Android

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על סוג אפליקציה > Android.
  4. בקטע 'שם'. מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. בקטע 'שם החבילה' יש להזין את שם החבילה של הקובץ AndroidManifest.xml.
  6. ב'טביעת אצבע לאישור SHA-1' מזינים את טביעת האצבע לאישור SHA-1 שנוצרה.
  7. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש.
  8. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע 'מזהי לקוחות של OAuth 2.0'.

iOS

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על Application type (סוג אפליקציה) > iOS.
  4. בקטע 'שם'. מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. בקטע 'מזהה החבילה' בשדה, צריך להזין את מזהה החבילה כפי שמצוין בקובץ Info.plist של האפליקציה.
  6. אופציונלי: אם האפליקציה מופיעה ב-Apple App Store, צריך להזין את המזהה שלה ב-App Store.
  7. אופציונלי: בקטע 'מזהה צוות' מזינים את המחרוזת הייחודית בת 10 התווים, שנוצרה על ידי Apple והוקצתה לצוות שלכם.
  8. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
  9. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע 'מזהי לקוחות של OAuth 2.0'.

אפליקציית Chrome

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על סוג אפליקציה > אפליקציית Chrome.
  4. בקטע 'שם'. מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. בקטע Application ID (מזהה האפליקציה) צריך להזין את מחרוזת המזהה הייחודית של האפליקציה שלך. יש בה 32 תווים. תוכלו למצוא את ערך המזהה הזה בכתובת ה-URL של האפליקציה בחנות האינטרנט של Chrome ובמרכז השליטה למפתחים של חנות האינטרנט של Chrome.
  6. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
  7. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע 'מזהי לקוחות של OAuth 2.0'.

אפליקציה לשולחן העבודה

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על סוג אפליקציה > אפליקציית מחשב.
  4. בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
  6. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע מזהי לקוחות OAuth 2.0.

טלוויזיות מספר מוגבל של מכשירים לקליטת נתונים

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על סוג אפליקציה > טלוויזיות ו מספר מוגבל של מכשירי קלט.
  4. בקטע 'שם'. מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
  6. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע 'מזהי לקוחות של OAuth 2.0'.

Universal Windows Platform (UWP)‎

  1. במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.

    כניסה לדף Credentials

  2. לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
  3. לוחצים על Application type (סוג אפליקציה) > Universal Windows Platform (UWP).
  4. בקטע 'שם'. מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. בקטע 'מזהה החנות' צריך להזין את הערך הייחודי בן 12 התווים של מזהה Microsoft Store של האפליקציה. המזהה הזה מופיע בכתובת ה-URL של האפליקציה ב-Microsoft Store ובמרכז השותפים.
  6. לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
  7. לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע 'מזהי לקוחות של OAuth 2.0'.

מורידים את קובץ ה-JSON של סוד הלקוח

הקובץ הסודי של הלקוח הוא ייצוג JSON של מזהה הלקוח ב-OAuth פרטי כניסה שהאפליקציה שלכם יכולה להפנות אליהם כשהיא מספקת את פרטי הכניסה.

  1. במסוף Google Cloud, נכנסים לתפריט > ממשקי API ו Services (שירותים) > פרטי כניסה.

    כניסה לדף 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. נכנסים לדף Pub/Sub במסוף Google Cloud:

    כניסה לדף Google Cloud Pub/Sub

    מוודאים שהפרויקט ב-Cloud עבור האפליקציה נבחר.

  2. לוחצים על יצירת נושא. לבצע את הפעולות הבאות:

    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. לוחצים על הוספת חשבון משתמש.
    3. בשדה Add principals, מוסיפים את חשבון השירות של אפליקציית Google Workspace שמספקת אירועים מינוי:
      1. באירועים של Chat: chat-api-push@system.gserviceaccount.com
      2. באירועים של Meet: meet-api-event-push@system.gserviceaccount.com
    4. בתפריט הקצאת תפקידים, בוחרים באפשרות 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: 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 Chat (spaces/AAAABBBBBBB), הערך של targetResource הוא //chat.googleapis.com/spaces/AAAABBBBBBB.

לפני שיוצרים את המינוי, כדאי לעיין בקטעים הבאים כדי ללמוד איך לזהות ולעצב את משאב היעד.

זיהוי של משאב יעד ל-Chat

משאב יעד אופן הלימוד מגבלות
רווח

//chat.googleapis.com/spaces/SPACE

כאשר SPACE הוא המזהה שם המשאב של משאב ה-API ל-Chat space. אפשר לאתר את המזהה בכתובת ה-URL של המרחב המשותף או spaces.list().

המשתמש ב-Chat שמאשר את המינוי צריך להיות חברים במרחב המשותף דרך Google Workspace או Google חשבון.
כל המרחבים המשותפים של המשתמש

//chat.googleapis.com/spaces/-

המינוי מקבל אירועים רק במרחבים שבהם המשתמש נמצא מנויים דרך חשבון Google Workspace או חשבון Google.
משתמש

//cloudidentity.googleapis.com/users/USER

כאשר USER הוא המזהה שם המשאב של משאב ה-API ל-Chat user. פרטים נוספים זמינים במאמר זיהוי ופירוט משתמשי Google Chat.

המינוי מקבל רק אירועים לגבי המשתמש אישר את המינוי. המשתמש לא יכול לאשר מינוי ב- בשמם של משתמשים אחרים.

זיהוי של משאב יעד ל-Meet

משאב יעד אופן הלימוד מגבלות (אם רלוונטי)
מתחם ישיבות //meet.googleapis.com/spaces/SPACE

כאשר SPACE הוא המזהה שם המשאב של משאב ה-API ל-REST של Meet space. פרטים נוספים זמינים במאמר איך אפליקציית Meet מזהה מרחב משותף לפגישה.

משתמש //cloudidentity.googleapis.com/users/USER

כאשר USER הוא המזהה השדה signedinUser.user של משאב ה-API ל-REST של Meet participant. פרטים נוספים זמינים במאמר לעבוד עם המשתתפים.

המינוי מקבל אירועים על חדרי ישיבות שבהם המשתמש הוא אחד מהבאים:

  • הבעלים של המרחב המשותף.
  • המארגן של האירוע ביומן Google שמשויך למרחב הפגישות.

יצירת מינוי ל-Google Workspace

כדי ליצור מינוי, צריך להשתמש ב-Google Workspace Event API השיטה subscriptions.create() כדי ליצור Subscription משאב. צריך לציין את השדות הבאים:

  • targetResource: חשבון Google Workspace שציינת הקטע הקודם, בפורמט לפי שם המשאב המלא שלו.
  • eventTypes: מערך של סוג אירוע אחד או יותר שלגביו רוצים לקבל מקור המידע. לדוגמה, אם האפליקציה צריכה לדעת רק על הודעות חדשות שפורסמו במרחב ב-Chat, האפליקציה יכולה פשוט להירשם לאירועים על הודעות שנוצרו.
  • notificationEndpoint: נקודת קצה של התראה שבה עם מינוי ל-Google Workspace אפשר ליצור אירועים. אתם משתמשים נושא Pub/Sub שיצרתם בקטע הקודם.
  • payloadOptions: אפשרויות לציון כמות נתוני המשאבים שייכללו המטען הייעודי (Payload) של האירוע. ההגדרה הזו משפיעה על זמן התפוגה של במינוי. אפשר לקרוא מידע נוסף בקטע אירוע .

כדי ליצור מינוי ל-Google Workspace:

Apps Script

  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 Chat עם מזהה המרחב 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: ערך בוליאני שמציין אם המינוי כולל נתוני משאבים במטען הייעודי (payload):

      • True: כולל את כל נתוני המשאבים. כדי להגביל את השדות כלול, יש להוסיף את fieldMask ולציין לפחות שדה אחד עבור המשאב שהשתנה. רק מינויים לתמיכה במשאבי Chat, כולל לנתוני המשאבים.
      • False: החרגה של נתוני המשאבים.
  2. כדי ליצור מינוי ל-Google Workspace, צריך להריץ את הפונקציה createSubscription בפרויקט Apps Script שלך.

Python

  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 Chat עם מזהה המרחב 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: ערך בוליאני שמציין אם המינוי כולל נתוני משאבים במטען הייעודי (payload):

      • True: כולל את כל נתוני המשאבים. כדי להגביל את השדות כלול, יש להוסיף את fieldMask ולציין לפחות שדה אחד עבור המשאב שהשתנה. רק מינויים לתמיכה במשאבי Chat, כולל לנתוני המשאבים.
      • False: החרגה של נתוני המשאבים.
  2. כדי ליצור את המינוי ל-Google Workspace, צריך להריץ את הפקודה הבאה ב- הטרמינל:

    python3 create_subscription.py
    

Google Workspace Event API מחזיר נתונים ארוכי טווח הפעולה שמכילה את מופע של המשאב Subscription שיצרתם.

בדיקת המינוי שלך ל-Google Workspace

כדי לבדוק אם אתם מקבלים אירועים של Google Workspace, אפשר להפעיל אירוע ומשיכה של הודעות למינוי Pub/Sub.

כדי לבדוק את המינוי ל-Google Workspace:

מסוף Google Cloud

  1. להפעיל סוג אחד או יותר של אירוע במשאב היעד של מינוי ל-Google Workspace. לדוגמה, אם נרשמתם כמנויים ל הודעות במרחב ב-Chat, פרסום הודעה במרחב המשותף.

  2. נכנסים לדף Pub/Sub במסוף Google Cloud:

    כניסה ל-Pub/Sub

    מוודאים שהפרויקט ב-Cloud עבור האפליקציה נבחר.

  3. בתפריט Pub/Sub לוחצים על מינויים.

  4. מוצאים בטבלה את מינוי Pub/Sub לנושא ולוחצים על שם המינוי.

  5. לוחצים על הכרטיסייה הודעות.

  6. לוחצים על Pull. יצירת אירוע עשויה להימשך מספר דקות הודעת Pub/Sub.

gcloud

  1. להפעיל סוג אחד או יותר של אירוע במשאב היעד של מינוי ל-Google Workspace. לדוגמה, אם נרשמתם כמנויים ל הודעות במרחב ב-Chat, לפרסם הודעה במרחב המשותף.

  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 במינוי לסוג Push delivery, כדי שהאפליקציה תוכל לקבל אירועים. ישירות לנקודת קצה (endpoint) של אפליקציה.

מידע נוסף על הגדרת מינוי ל-Pub/Sub זמין בPub/Sub תיעוד.