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

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

Apps Script

  • פרויקט 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 Workspace

בקטע הזה משתמשים בשיטה subscriptions.update() של Google Workspace Event 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('client_secrets.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 ואת השם של הקובץ: client_secrets.json. בדוגמת הקוד הזו, קובץ ה-JSON משמש לאימות מול Google Workspace ולקבל את פרטי הכניסה של המשתמש. להוראות, תוכלו לקרוא את המאמר יצירת פרטי כניסה של מזהה לקוח ב-OAuth.

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

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

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