בדף הזה מוסבר איך להפעיל מחדש מינוי ל-Google Workspace שהושעה. כדי לעשות זאת, צריך לפתור שגיאות או לפתור בעיות, ולהתקשר לשיטת subscriptions.reactivate.
המינויים ל-Google Workspace מושעים בכל פעם ששגיאה מונעת מהמינוי לקבל אירועים. לדוגמה, המינוי מושעה אם לא ניתן למצוא את משאב היעד או את נקודת הקצה של ההתראות. אחרי שתפתרו את השגיאות במינוי, תוכלו להפעיל אותו מחדש כדי להתחיל לקבל שוב אירועים.
כדי לקבל מידע על מינוי שהושעה:
- האפליקציה שלך מקבלת אירוע במחזור חיים לגבי ההשעיה. אם המינוי שלכם מושעה בגלל שגיאה בנקודת הקצה שלו, יכול להיות שלא תקבלו אירוע מחזור חיים.
- משתמשים בשיטות
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, צריך אימות של האפליקציה עם אישור חד-פעמי של האדמין.
Python
- Python 3.6 ואילך
- הכלי לניהול חבילות pip
- ספריות הלקוח העדכניות של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- מינוי ל-Google Workspace. כדי ליצור מינוי, אפשר לעיין במאמר יצירת מינוי.
נדרש אימות והיקף הרשאות מתאים לכל סוג אירוע במינוי:
- לאימות משתמשים, נדרש היקף אחד או יותר שתומכים לפחות באחד מסוגי האירועים של המינוי. כדי לזהות היקף, אפשר לעיין במאמר היקפים לפי סוג אירוע.
- כדי להירשם לאירוע ב-Chat כאפליקציה ל-Chat, צריך אימות של האפליקציה עם אישור חד-פעמי של האדמין.
זיהוי ותיקון שגיאות
כדי לזהות את השגיאה במינוי, בודקים את השדה suspensionReason של המינוי. השדה הזה מופיע כשמקבלים אירוע lifecycle לגבי ההשעיה, או כשמשתמשים ב-method 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.
אם הבקשה נכשלת, אפשר לעיין בקטע הבא כדי לפתור שגיאות נוספות.
הפעלה מחדש של מינוי כאפליקציית Chat
אתם יכולים להפעיל מחדש מינוי לאירועים ב-Chat כאפליקציית Chat ולא כמשתמש. התהליך דומה, אבל יש כמה הבדלים:
במקום אימות משתמש, מבצעים אימות כאפליקציית Chat באמצעות אישור חד-פעמי של האדמין.
מציינים היקפי הרשאות שמאפשרים לאפליקציה ל-Chat להירשם לאירועים ב-Chat. היקפי ההרשאות האלה תמיד מתחילים ב-
chat.appוכוללים את ההיקפים הבאים:https://www.googleapis.com/auth/chat.app.memberships: הרשמה לאירועים של חברים במרחב ב-Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: הרשמה לאירועים של חברים במרחב ב-Chat.-
https://www.googleapis.com/auth/chat.app.messages.readonly: הרשמה לאירועים של הודעות ותגובות במרחב ב-Chat. https://www.googleapis.com/auth/chat.app.spaces: הרשמה לאירועים במרחב ב-Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: הרשמה לאירועים במרחב ב-Chat.
כתיבת סקריפט שקורא ל-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,
)
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.memberships.readonly: הרשמה לאירועים של חברים במרחב ב-Chat.-
https://www.googleapis.com/auth/chat.app.messages.readonly: הרשמה לאירועים של הודעות ותגובות במרחב ב-Chat. https://www.googleapis.com/auth/chat.app.spaces: הרשמה לאירועים במרחב ב-Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: הרשמה לאירועים במרחב ב-Chat.
SUBSCRIPTION_ID: מזהה המינוי. כדי לקבל את המזהה, אפשר להשתמש באחת מהאפשרויות הבאות:
פתרון בעיות במקרה של שגיאות מרובות
אם פתרתם את השגיאה שגרמה להשעיית המינוי והשיטה reactivate נכשלה, יכול להיות שקרתה שגיאה אחרת אחרי שהמינוי הושעה.
כדי לזהות שגיאות נוספות, בודקים את הפלט מהבקשה שנכשלה. הפלט מכיל את כל השגיאות שעדיין קיימות.
אם במינוי יש כמה שגיאות, הערך בשדה suspensionReason תמיד יהיה השגיאה המקורית שגרמה להשעיית המינוי.