קבלת פרטים על מינוי ל-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