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

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

בדף הזה מפורטים השלבים ליצירת מינוי ל-Google Workspace:

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

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

Apps Script

  • כדי להשתמש בפקודות של 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.

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 בפרויקט שלכם ב-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

    מחליפים את 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, עוברים אל תפריט > > Clients.

    לדף Clients

  2. לוחצים על Create Client (יצירת לקוח).
  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 2.0.

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

Android

  1. במסוף Google Cloud, עוברים אל תפריט > > Clients.

    לדף Clients

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

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

iOS

  1. במסוף Google Cloud, עוברים אל תפריט > > Clients.

    לדף Clients

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

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

אפליקציית Chrome

  1. במסוף Google Cloud, עוברים אל תפריט > > Clients.

    לדף Clients

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

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

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

  1. במסוף Google Cloud, עוברים אל תפריט > > Clients.

    לדף Clients

  2. לוחצים על Create Client (יצירת לקוח).
  3. לוחצים על Application type > Desktop app.
  4. בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. לוחצים על יצירה.

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

טלוויזיות והתקני קלט עם הגבלות

  1. במסוף Google Cloud, עוברים אל תפריט > > Clients.

    לדף Clients

  2. לוחצים על Create Client (יצירת לקוח).
  3. לוחצים על סוג האפליקציה > טלוויזיות ומכשירי קלט מוגבלים.
  4. בשדה 'שם', מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
  5. לוחצים על יצירה.

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

Universal Windows Platform (UWP)‎

  1. במסוף Google Cloud, עוברים אל תפריט > > Clients.

    לדף Clients

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

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

הורדת קובץ JSON של סוד הלקוח

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

  1. במסוף Google Cloud, לוחצים על סמל התפריט > APIs & Services> Credentials.

    כניסה לדף Credentials

  2. בקטע מזהי לקוחות ב-OAuth 2.0, לוחצים על מזהה הלקוח שיצרתם.

  3. לוחצים על הורדת קובץ JSON.

  4. שומרים את הקובץ בפורמט credentials.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 topic (יצירת נושא) ומבצעים את הפעולות הבאות:

    1. מזינים שם לנושא, למשל workspace-events-topic.
    2. משאירים את האפשרות הוספת מינוי ברירת מחדל מסומנת. שם המינוי שמוגדר כברירת מחדל ב-Pub/Sub דומה לשם הנושא, למשל workspace-events-topic-sub.
    3. אופציונלי: אפשר לעדכן או להגדיר מאפיינים נוספים לנושא.
  3. לוחצים על יצירה. הפורמט של שם הנושא המלא הוא projects/PROJECT_ID/topics/TOPIC_ID. תצטרכו להשתמש בשם המלא הזה בשלב מאוחר יותר.

  4. נותנים גישה לפרסום הודעות ב-Pub/Sub בנושא:

    1. בדף של הנושא, עוברים לחלונית הצדדית ופותחים את הכרטיסייה הרשאות.
    2. לוחצים על Add Principal.
    3. בשדה Add principals, מוסיפים את חשבון השירות של אפליקציית Google Workspace שמעבירה אירועים למינוי שלכם:
      1. לאירועים ב-Chat, chat-api-push@system.gserviceaccount.com.
      2. גרסת Developer Preview:: לאירועים ב-Drive, drive-api-event-push@system.gserviceaccount.com.
      3. לאירועים ב-Meet, meet-api-event-push@system.gserviceaccount.com.
    4. בתפריט הקצאת תפקידים, בוחרים באפשרות Pub/Sub Publisher.
    5. לוחצים על שמירה. יכול להיות שיחלפו כמה דקות עד שההרשאות בנושא יתעדכנו.

gcloud

  1. בפרויקט בענן, יוצרים נושא על ידי הרצת הפקודה הבאה:

    gcloud pubsub topics create TOPIC_ID

    מחליפים את TOPIC_ID במזהה ייחודי לנושא, למשל workspace-events-topic.

    בפלט מוצג השם המלא של הנושא, בתבנית projects/PROJECT_ID/topics/TOPIC_ID. חשוב לשים לב לשם, ולוודא שהערך של PROJECT_ID הוא מזהה פרויקט הענן של האפליקציה. תשתמשו בשם הנושא בשלב הבא, וגם כדי ליצור את המינוי ל-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.
      • תצוגה מקדימה למפתחים: כדי לקבל אירועים מ-Drive, צריך להשתמש ב-drive-api-event-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 הוא המזהה ב שם המשאב של משאב Chat API space. אפשר לאתר את המזהה בכתובת ה-URL של המרחב או באמצעות ה-method‏ spaces.list().

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

//chat.googleapis.com/spaces/-

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

//cloudidentity.googleapis.com/users/USER

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

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

זיהוי משאב יעד ב-Drive

משאב היעד אופן הלימוד מגבלות (אם רלוונטי)
קובץ //googleapis.com/drive/v3/files/FILE

כאשר FILE הוא המזהה ב שם המשאב של משאב files ב-Drive API. אפשר לאתר את המזהה בכתובת ה-URL של הקובץ או באמצעות ה-method‏ files.list.

למשתמש שמאשר את המינוי צריכה להיות הרשאה בקובץ במסגרת המינוי ביחס לאירוע המינוי.
אחסון שיתופי //googleapis.com/drive/v3/drives/DRIVE

כאשר DRIVE הוא המזהה ב שם המשאב של משאב drives ב-Drive API. אפשר לאתר את המזהה בכתובת ה-URL של Drive או באמצעות method‏ drives.list.

המנוי מקבל רק אירועים שקשורים לפריטים בכונן המשותף שמשתמש הוא חבר בו דרך חשבון Google Workspace או חשבון 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 שמשויך למרחב הפגישה.

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

כדי ליצור מינוי, משתמשים ב-method‏ subscriptions.create של Google Workspace Events API כדי ליצור משאב Subscription. מציינים את השדות הבאים:

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

כדי ליצור מינוי ל-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('credentials.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

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

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

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

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

מסוף Google Cloud

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

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

    מעבר אל Pub/Sub

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

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

  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/PROJECT_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, כדי שהאפליקציה תוכל לקבל אירועים ישירות לנקודת קצה של האפליקציה.

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