קבלת פרטים על מינוי ל-Google Workspace

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

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

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

Apps Script

  • פרויקט 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. כדי ליצור מינוי, אפשר לעיין במאמר יצירת מינוי.

  • נדרש אימות:

    • לאימות משתמשים, נדרש היקף הרשאות שתומך לפחות באחד מסוגי האירועים של המינוי. כדי לזהות היקף, אפשר לעיין במאמר היקפים לפי סוג אירוע.
    • לאימות אפליקציות, נדרש היקף ההרשאות chat.bot (אפליקציות של Google Chat בלבד).

קבלת הרשאה למינוי ממשתמש

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

כדי לקבל מינוי שאושר על ידי משתמש:

Apps Script

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

    function getSubscription() {
      // The name of the subscription to get.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const subscription = WorkspaceEvents.Subscriptions.get(name);
      console.log(subscription);
    }
    

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

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

Python

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

    """Get subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # 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,
    )
    
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    subscription = service.subscriptions().get(name=NAME).execute()
    print(subscription)
    

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

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

  3. כדי לקבל את המינוי, מריצים את הפקודה הבאה בטרמינל:

    python3 get_subscription.py