בדף הזה מוסבר איך לחדש מינוי ל-Google Workspace באמצעות השיטה subscriptions.update()
. אפשר להשתמש בשיטה הזו כדי לעדכן את תאריך התפוגה של מינוי, כולל חידוש המינוי לתאריך התפוגה המקסימלי האפשרי, או כדי לעדכן את רשימת סוגי האירועים שמתקבלים לגבי משאב היעד.
Apps Script
- מינוי ל-Google Workspace. כדי ליצור מינוי, אפשר לעיין במאמר יצירת מינוי.
- פרויקט Apps Script:
- להשתמש בפרויקט Google Cloud במקום בפרויקט ברירת המחדל שנוצר אוטומטית על ידי Apps Script.
- לכל היקפי ההרשאות שהוספתם כדי להגדיר את מסך ההסכמה ל-OAuth, אתם צריכים להוסיף את היקפי ההרשאות גם לקובץ
appsscript.json
בפרויקט Apps Script. לדוגמה, אם ציינתם את ההיקףchat.messages
, צריך להוסיף את הפרטים הבאים: - מפעילים
את השירות המתקדם
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
נדרש אימות והיקף הרשאות מתאים לכל סוג אירוע במינוי:
- לאימות משתמשים, נדרש היקף אחד או יותר שתומכים לפחות באחד מסוגי האירועים של המינוי. כדי לזהות היקף, אפשר לעיין במאמר היקפים לפי סוג אירוע.
- כדי להירשם לאירוע ב-Chat כאפליקציה ל-Chat, צריך אימות של האפליקציה עם אישור חד-פעמי של האדמין. אפשר להירשם לאירוע ב-Chat בתור אפליקציית Chat בתצוגה מקדימה למפתחים.
Python
- Python 3.6 ואילך
- כלי ניהול החבילות pip
- ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- מינוי ל-Google Workspace. כדי ליצור מינוי, אפשר לעיין במאמר יצירת מינוי.
נדרש אימות והיקף הרשאות מתאים לכל סוג אירוע במינוי:
- לאימות משתמשים, נדרש היקף אחד או יותר שתומכים לפחות באחד מסוגי האירועים של המינוי. כדי לזהות היקף, אפשר לעיין במאמר היקפים לפי סוג אירוע.
- כדי להירשם לאירוע ב-Chat כאפליקציה ל-Chat, צריך אימות של האפליקציה עם אישור חד-פעמי של האדמין. אפשר להירשם לאירוע ב-Chat בתור אפליקציית Chat בתצוגה מקדימה למפתחים.
חידוש מינוי ל-Google Workspace
בקטע הזה משתמשים בשיטה subscriptions.update()
של Google Workspace Events API כדי לחדש מינוי עד למועד התפוגה המקסימלי שלו. כדי לציין את זמן התפוגה המקסימלי, מעדכנים את השדה ttl
של המשאב Subscription
לערך 0
.
זמן התפוגה המקסימלי תלוי בנתוני המשאב שכלולים במטען הייעודי (payload) של האירוע. מידע נוסף על זמני תפוגה זמין במאמר בנושא נתוני אירועים של אירועים ב-Google Workspace.
כדי לחדש מינוי ל-Google Workspace:
Apps Script
בפרויקט 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); }
מחליפים את מה שכתוב בשדות הבאים:
כדי לעדכן את המינוי ל-Google Workspace, מריצים את הפונקציה
updateSubscription
בפרויקט Apps Script.
Python
בתיקיית העבודה, יוצרים קובץ בשם
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('credentials.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
: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:
-
בספריית העבודה, מוודאים ששמרתם את פרטי הכניסה של מזהה לקוח OAuth ונתתם לקובץ את השם
credentials.json
. בדוגמת הקוד הזו נעשה שימוש בקובץ ה-JSON כדי לבצע אימות ב-Google Workspace ולקבל את פרטי הכניסה של המשתמש. הוראות מפורטות זמינות במאמר בנושא יצירת פרטי כניסה של מזהה לקוח OAuth.כדי לעדכן את המינוי ל-Google Workspace, מריצים את הפקודה הבאה במסוף:
python3 update_subscription.py
Subscription
.
כדי לקבל פרטים על משאב Subscription
מעודכן, משתמשים בשיטה operations.get()
ומציינים את משאב Operation
שהוחזר מהבקשה subscriptions.update()
. אחרת, אם תציינו משאב Operation
מגרסה קודמת של המינוי, התגובה תהיה ריקה.
עדכון או חידוש של מינוי כאפליקציה ב-Google Chat
אתם יכולים לעדכן או לחדש מינוי לאירועים ב-Chat כאפליקציית Chat ולא כמשתמש. התהליך דומה, אבל יש כמה הבדלים:
במקום אימות משתמש, מבצעים אימות כאפליקציית Chat באמצעות אישור חד-פעמי של האדמין.
מציינים היקפי הרשאות שמאפשרים לאפליקציה ל-Chat להירשם לאירועים ב-Chat. היקפי ההרשאות האלה תמיד מתחילים ב-
chat.app
וכוללים את ההרשאות הבאות:https://www.googleapis.com/auth/chat.app.memberships
: הרשמה לאירועים של חברים במרחב ב-Chat.https://www.googleapis.com/auth/chat.app.messages.readonly
: הרשמה לאירועים של הודעות במרחב ב-Chat.https://www.googleapis.com/auth/chat.app.spaces
: הרשמה לאירועים במרחב ב-Chat.
יצירה של מפתח API
כדי לקרוא ל-method של API בגרסת טרום-השקה למפתחים, צריך להשתמש בגרסת טרום-השקה למפתחים של מסמך גילוי ה-API שאינה ציבורית. כדי לאמת את הבקשה, צריך להעביר מפתח API.
כדי ליצור את מפתח ה-API, פותחים את פרויקט Google Cloud של האפליקציה ומבצעים את הפעולות הבאות:
- במסוף Google Cloud, לוחצים על סמל התפריט > APIs & Services > Credentials.
- לוחצים על Create credentials > API key.
- מפתח ה-API החדש מוצג.
- לוחצים על סמל ההעתקה כדי להעתיק את מפתח ה-API לשימוש בקוד של האפליקציה. מפתח ה-API מופיע גם בקטע API Keys (מפתחות API) בפרטי הכניסה של הפרויקט.
- כדי למנוע שימוש לא מורשה, מומלץ להגביל את המקומות שבהם אפשר להשתמש במפתח ה-API ואת ממשקי ה-API שאפשר להשתמש בו עבורם. פרטים נוספים זמינים במאמר בנושא הוספת הגבלות על ממשקי API.
כתיבת סקריפט שקורא ל-Google Workspace Events API
קוד לדוגמה לעדכון המינוי ל-Google Workspace של אפליקציית Chat:
Python
"""Update subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = [SCOPES]
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
מחליפים את מה שכתוב בשדות הבאים:
SCOPES
: מציינים היקפי הרשאה שמאפשרים לאפליקציה ל-Chat להירשם לאירועים ב-Chat. היקפי ההרשאות האלה תמיד מתחילים ב-chat.app
וכוללים את ההרשאות הבאות:https://www.googleapis.com/auth/chat.app.memberships
: הרשמה לאירועים של חברים במרחב ב-Chat.-
https://www.googleapis.com/auth/chat.app.messages.readonly
: הרשמה לאירועים של הודעות ותגובות במרחב ב-Chat. https://www.googleapis.com/auth/chat.app.spaces
: הרשמה לאירועים במרחב ב-Chat.
API_KEY
: מפתח ה-API שיצרתם כדי לבנות את נקודת הקצה של השירות עבור Google Workspace Events API.
SUBSCRIPTION_ID
: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות: