בדף הזה מוסבר איך להפעיל מחדש מינוי Google Workspace שהושעה. כדי לעשות זאת, צריך לפתור שגיאות או לפתור בעיות, ואז להתקשר לשיטה subscriptions.reactivate
.
המינויים ל-Google Workspace מושעים בכל פעם ששגיאה מונעת מהמינוי לקבל אירועים. לדוגמה, המינוי מושעה אם לא ניתן למצוא את משאב היעד או את נקודת הקצה של ההתראות. אחרי שתפתרו את השגיאות במינוי, תוכלו להפעיל אותו מחדש כדי להתחיל לקבל שוב אירועים.
יש כמה דרכים לקבל מידע על מינוי מושעה:
- האפליקציה שלך מקבלת אירוע במחזור חיים לגבי ההשעיה. אם המינוי שלכם מושעה בגלל שגיאה בנקודת הקצה שלו, יכול להיות שלא תקבלו אירוע מחזור חיים.
- משתמשים ב-method
subscriptions.get
אוsubscriptions.list
כדי לראות אם השדהstate
של המינוי מוגדר לערךSUSPENDED
. - אתם מקבלים התראה על כשל במסירה לנקודת הקצה של ההתראות. מידע נוסף על מעקב אחרי כשלים במסירה לנושאי Google Cloud Pub/Sub זמין במאמר טיפול בכשלים בהודעות.
מינויים שהופעלו מחדש שומרים על תאריך התפוגה המקורי. כדי להאריך את תוקף המינוי, אפשר לעיין במאמר עדכון או חידוש של מינוי Google Workspace.
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 בתצוגה מקדימה למפתחים.
זיהוי ותיקון שגיאות
כדי לזהות את השגיאה במינוי, בודקים את השדה suspensionReason
של המינוי. אפשר למצוא את השדה הזה כשמקבלים אירוע במחזור החיים לגבי ההשעיה, או באמצעות השיטה subscriptions.get
כדי לבדוק את כל השדות של המינוי.
בטבלה הבאה מוצגות שגיאות אפשריות במינוי, וגם הסבר איך לפתור את השגיאות האלה. אם לא מצליחים לפתור את הבעיה, אפשר למחוק את המינוי או לחכות עד שהוא יפוג. ממשק Google Workspace Events API מוחק מינויים שפג תוקפם באופן אוטומטי.
שגיאה | תיאור | דרכים לפתרון הבעיה |
---|---|---|
|
המשתמש שנותן את ההרשאה ביטל את ההרשאה של היקפי OAuth אחד או יותר שנדרשים למינוי. | מקבלים טוקן גישה אחר. פרטים נוספים זמינים במאמר בנושא קבלת אסימון גישה משרת ההרשאות של Google. |
|
משאב היעד של המינוי נמחק. | אם המשאב משוחזר, קוראים ל-method reactivate . אחרת, לא נדרשת פעולה, כי אי אפשר להפעיל מחדש מינוי בלי משאב היעד המקורי שלו. |
|
למשתמש שנותן את ההרשאה אין יותר גישה למשאב של המינוי. | לא נדרשת כל פעולה. אי אפשר להפעיל מחדש את המינוי, כי למשתמש שאישר אותו אין גישה למשאב היעד. |
|
לאפליקציית Google Workspace אין גישה למסירת אירועים לנקודת הקצה של ההתראות. | נותנים גישה לחשבון השירות לאפליקציית Google Workspace שמעבירה אירועים. חשבונות שירות:
בנושאי Pub/Sub, מקצים לחשבון השירות את התפקיד פרסום הודעות ב-Pub/Sub ( roles/pubsub.publisher)
). |
|
נקודת הקצה של ההתראה לא קיימת או שלא ניתן למצוא אותה. | בודקים שנקודת הקצה עדיין פעילה ועובדת. כדי לפתור בעיות בנושאים של Pub/Sub, אפשר לעיין במסמכי פתרון הבעיות. |
|
נקודת הסיום של ההתראה לא קיבלה אירועים בגלל מכסה לא מספיקה או בגלל הגבלת קצב של יצירת בקשות. | שליחת בקשה להגדלת המכסות. |
|
האדמין בדומיין ביטל את ההרשאה של היקפי OAuth אחד או יותר לאפליקציית Chat. | לקבל אישור מהאדמין. |
|
לאפליקציית Chat שאישרה את יצירת המנוי כבר אין גישה למשאב היעד של המנוי. | לקבל שוב גישה למשאב היעד. לדוגמה, אם משאב היעד הוא מרחב ב-Chat, יכול להיות שאפליקציית Chat תצטרך להיות חברה במרחב. |
הפעלה מחדש של מינוי
אחרי שפותרים את השגיאה שהובילה להשעיית המינוי, אפשר להשתמש בשיטה reactivate
כדי שהמינוי יקבל שוב אירועים. השיטה בודקת שכל השגיאות נפתרו ומשנה את השדה state
במינוי מ-SUSPENDED
ל-ACTIVE
.
כדי להפעיל מחדש מינוי ל-Google Workspace:
Apps Script
בפרויקט Apps Script, יוצרים קובץ סקריפט חדש בשם
reactivateSubscription
ומוסיפים את הקוד הבא:function reactivateSubscription() { // The name of the subscription to reactivate. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.reactivate({}, name); console.log(response); }
מחליפים את מה שכתוב בשדות הבאים:
כדי להפעיל מחדש את המינוי ל-Google Workspace, מריצים את הפונקציה
reactivateSubscription
בפרויקט Apps Script.
Python
בתיקיית העבודה, יוצרים קובץ בשם
reactivate_subscription.py
ומוסיפים את הקוד הבא:"""Reactivate 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, ) NAME = 'subscriptions/SUBSCRIPTION_ID' response = service.subscriptions().reactivate(name=NAME).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 reactivate_subscription.py
Subscription
.
אם הבקשה נכשלת, אפשר לעיין בקטע הבא כדי לפתור שגיאות נוספות.
הפעלה מחדש של מינוי כאפליקציה ב-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
"""Reactivate 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',
)
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = service.subscriptions().reactivate(name=NAME).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
: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:
פתרון בעיות במקרה של שגיאות מרובות
אם פתרתם את השגיאה שגרמה להשעיית המינוי והשיטה reactivate
נכשלה, יכול להיות שקרתה שגיאה אחרת אחרי שהמינוי הושעה.
כדי לזהות שגיאות נוספות, בודקים את הפלט של הבקשה שנכשלה. הפלט מכיל את כל השגיאות שעדיין קיימות.
אם במינוי יש כמה שגיאות, הערך בשדה suspensionReason
תמיד יהיה השגיאה המקורית שגרמה להשעיית המינוי.