בדף זה מוסבר איך מקבלים פרטים על מינוי ל-Google Workspace באמצעות השיטה subscriptions.get()
.
כשקוראים לשיטה הזו עם אימות משתמשים, השיטה מחזירה פרטים לגבי מינוי שאושר על ידי המשתמש. כשמשתמשים באימות אפליקציות, השיטה יכולה להחזיר פרטים על כל מינוי לאפליקציה.
דרישות מוקדמות
Apps Script
- מינוי ל-Google Workspace. במאמר יצירת מינוי מוסבר איך יוצרים מינוי.
נדרש אימות משתמש עם היקף הרשאות אחד או יותר שתומכים בכל סוגי האירועים במינוי.
- פרויקט 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
בפרויקט 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); }
מחליפים את מה שכתוב בשדות הבאים:
כדי לקבל את המינוי, מריצים את הפונקציה
getSubscription
בפרויקט ה-Apps Script.
Python
בספריית העבודה, יוצרים קובץ בשם
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
: מזהה המינוי. כדי לאתר את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:
בספריית העבודה, חשוב לוודא שאחסנתם את פרטי הכניסה של מזהה הלקוח ב-OAuth ואת השם של הקובץ:
client_secrets.json
. בדוגמת הקוד הזו, קובץ ה-JSON משמש לאימות מול Google Workspace ולקבל את פרטי הכניסה של המשתמש. להוראות, תוכלו לקרוא את המאמר יצירת פרטי כניסה של מזהה לקוח ב-OAuth.כדי לקבל את המינוי, מריצים את הפקודה הבאה במסוף:
python3 get_subscription.py