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

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

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

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

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. במאמר יצירת מינוי מוסבר איך יוצרים מינוי.

  • נדרש אימות:

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

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

    python3 get_subscription.py