עדכון או חידוש של מינוי ל-Google Workspace

בדף הזה מוסבר איך לחדש מינוי ל-Google Workspace באמצעות השיטה subscriptions.update(). אפשר להשתמש בשיטה הזו כדי לעדכן את תאריך התפוגה של מינוי, כולל חידוש המינוי לתאריך התפוגה המקסימלי האפשרי, או כדי לעדכן את רשימת סוגי האירועים שמתקבלים לגבי משאב היעד.

Apps Script

  • מינוי ל-Google Workspace. כדי ליצור מינוי, אפשר לעיין במאמר יצירת מינוי.

  • פרויקט Apps Script:
    • להשתמש בפרויקט Google Cloud במקום בפרויקט ברירת המחדל שנוצר אוטומטית על ידי Apps Script.
    • לכל היקפי ההרשאות שהוספתם כדי להגדיר את מסך ההסכמה ל-OAuth, אתם צריכים להוסיף את היקפי ההרשאות גם לקובץ appsscript.json בפרויקט Apps Script. לדוגמה, אם ציינתם את ההיקף chat.messages, צריך להוסיף את הפרטים הבאים:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • מפעילים את השירות המתקדם Google Workspace Events.

Python

  • ‫Python 3.6 ואילך
  • כלי ניהול החבילות pip
  • ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

חידוש מינוי ל-Google Workspace

בקטע הזה משתמשים בשיטה subscriptions.update() של Google Workspace Events API כדי לחדש מינוי עד למועד התפוגה המקסימלי שלו. כדי לציין את זמן התפוגה המקסימלי, מעדכנים את השדה ttl של המשאב Subscription לערך 0.

זמן התפוגה המקסימלי תלוי בנתוני המשאב שכלולים במטען הייעודי (payload) של האירוע. מידע נוסף על זמני תפוגה זמין במאמר בנושא נתוני אירועים של אירועים ב-Google Workspace.

כדי לחדש מינוי ל-Google Workspace:

Apps Script

  1. בפרויקט Apps Script, יוצרים קובץ סקריפט חדש בשם updateSubscription ומוסיפים את הקוד הבא:

    function updateSubscription() {
      // The name of the subscription to update.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.patch({
        ttl: '0s',
      }, name);
      console.log(response);
    }
    

    מחליפים את מה שכתוב בשדות הבאים:

    • SUBSCRIPTION_ID: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:
      • הערך של השדה uid.
      • המזהה של שם המשאב שמיוצג בשדה name. לדוגמה, אם שם המשאב הוא subscriptions/subscription-123, משתמשים ב-subscription-123.
  2. כדי לעדכן את המינוי ל-Google Workspace, מריצים את הפונקציה updateSubscription בפרויקט Apps Script.

Python

  1. בתיקיית העבודה, יוצרים קובץ בשם update_subscription.py ומוסיפים את הקוד הבא:

    """Update 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()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    BODY = {
        'ttl': {'seconds': 0},
    }
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = (
        service.subscriptions()
        .patch(name=NAME, updateMask='ttl', body=BODY)
        .execute()
    )
    print(response)
    

    מחליפים את מה שכתוב בשדות הבאים:

    • SCOPES: היקפי הרשאות של OAuth שתומכים בכל סוג אירוע של המינוי. הפורמט הוא מערך של מחרוזות. כדי לציין כמה היקפים, מפרידים ביניהם באמצעות פסיקים. לדוגמה, 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:
      • הערך של השדה uid.
      • המזהה של שם המשאב שמיוצג בשדה name. לדוגמה, אם שם המשאב הוא subscriptions/subscription-123, משתמשים ב-subscription-123.
  2. בספריית העבודה, מוודאים ששמרתם את פרטי הכניסה של מזהה לקוח OAuth ונתתם לקובץ את השם credentials.json. בדוגמת הקוד הזו נעשה שימוש בקובץ ה-JSON כדי לבצע אימות ב-Google Workspace ולקבל את פרטי הכניסה של המשתמש. הוראות מפורטות זמינות במאמר בנושא יצירת פרטי כניסה של מזהה לקוח OAuth.

  3. כדי לעדכן את המינוי ל-Google Workspace, מריצים את הפקודה הבאה במסוף:

    python3 update_subscription.py
ממשק Google Workspace Events API מחזיר פעולה ממושכת שמכילה את המופע של משאב Subscription.

כדי לקבל פרטים על משאב Subscription מעודכן, משתמשים בשיטה operations.get() ומציינים את משאב Operation שהוחזר מהבקשה subscriptions.update(). אחרת, אם תציינו משאב Operation מגרסה קודמת של המינוי, התגובה תהיה ריקה.

עדכון או חידוש של מינוי כאפליקציה ב-Google Chat

אתם יכולים לעדכן או לחדש מינוי לאירועים ב-Chat כאפליקציית Chat ולא כמשתמש. התהליך דומה, אבל יש כמה הבדלים:

  1. במקום אימות משתמש, מבצעים אימות כאפליקציית Chat באמצעות אישור חד-פעמי של האדמין.

  2. מציינים היקפי הרשאות שמאפשרים לאפליקציה ל-Chat להירשם לאירועים ב-Chat. היקפי ההרשאות האלה תמיד מתחילים ב-chat.app וכוללים את ההרשאות הבאות:

    • https://www.googleapis.com/auth/chat.app.memberships: הרשמה לאירועים של חברים במרחב ב-Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: הרשמה לאירועים של הודעות במרחב ב-Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: הרשמה לאירועים במרחב ב-Chat.

יצירה של מפתח API

כדי לקרוא ל-method של API בגרסת טרום-השקה למפתחים, צריך להשתמש בגרסת טרום-השקה למפתחים של מסמך גילוי ה-API שאינה ציבורית. כדי לאמת את הבקשה, צריך להעביר מפתח API.

כדי ליצור את מפתח ה-API, פותחים את פרויקט Google Cloud של האפליקציה ומבצעים את הפעולות הבאות:

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

    כניסה לדף Credentials

  2. לוחצים על Create credentials > API key.
  3. מפתח ה-API החדש מוצג.
    • לוחצים על סמל ההעתקה כדי להעתיק את מפתח ה-API לשימוש בקוד של האפליקציה. מפתח ה-API מופיע גם בקטע API Keys (מפתחות API) בפרטי הכניסה של הפרויקט.
    • כדי למנוע שימוש לא מורשה, מומלץ להגביל את המקומות שבהם אפשר להשתמש במפתח ה-API ואת ממשקי ה-API שאפשר להשתמש בו עבורם. פרטים נוספים זמינים במאמר בנושא הוספת הגבלות על ממשקי API.

כתיבת סקריפט שקורא ל-Google Workspace Events API

קוד לדוגמה לעדכון המינוי ל-Google Workspace של אפליקציית Chat:

Python

  """Update subscription."""

  from google.oauth2 import service_account
  from apiclient.discovery import build

  # Specify required scopes.
  SCOPES = [SCOPES]

  # Specify service account details.
  CREDENTIALS = (
      service_account.Credentials.from_service_account_file('credentials.json')
      .with_scopes(SCOPES)
  )

  # Call the Workspace Events API using the service endpoint.
  service = build(
      'workspaceevents',
      'v1beta',
      credentials=CREDENTIALS,
      discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
  )

  BODY = {
      'ttl': {'seconds': 0},
  }
  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = (
      service.subscriptions()
      .patch(name=NAME, updateMask='ttl', body=BODY)
      .execute()
  )
  print(response)

מחליפים את מה שכתוב בשדות הבאים:

  • SCOPES: מציינים היקפי הרשאה שמאפשרים לאפליקציה ל-Chat להירשם לאירועים ב-Chat. היקפי ההרשאות האלה תמיד מתחילים ב-chat.app וכוללים את ההרשאות הבאות:

    • https://www.googleapis.com/auth/chat.app.memberships: הרשמה לאירועים של חברים במרחב ב-Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: הרשמה לאירועים של הודעות ותגובות במרחב ב-Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: הרשמה לאירועים במרחב ב-Chat.
  • API_KEY: מפתח ה-API שיצרתם כדי לבנות את נקודת הקצה של השירות עבור Google Workspace Events API.

  • SUBSCRIPTION_ID: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:

    • הערך של השדה uid.
    • המזהה של שם המשאב שמיוצג בשדה name. לדוגמה, אם שם המשאב הוא subscriptions/subscription-123, משתמשים ב-subscription-123.