בדף הזה מוסבר איך להפעיל מחדש מינוי מושעה ל-Google Workspace על ידי פתרון שגיאות או פתרון בעיות, והפעלת השיטה subscriptions.reactivate()
.
מינויים ל-Google Workspace מושהים בכל פעם ששגיאה מונעת מהמינוי לקבל אירועים. לדוגמה, מינוי יושעה אם לא ניתן למצוא את משאב היעד או את נקודת הקצה לקבלת התראות. אחרי שתטפלו בשגיאות במינוי, תוכלו להפעיל אותו מחדש כדי להתחיל לקבל שוב אירועים.
אפשר לקבל מידע על מינוי מושעה בדרכים הבאות:
- האפליקציה שלכם תקבל אירוע במחזור החיים לגבי ההשעיה. אם המינוי שלכם הושעה בגלל שגיאה בנקודת הקצה שלו, יכול להיות שלא תקבלו אירוע מחזור חיים.
- משתמשים ב-method
subscriptions.get()
או ב-method subscriptions.list()
כדי לראות אם השדהstate
של המינוי מוגדר ל-SUSPENDED
. - תקבלו התראה על כשל בשליחה לנקודת הקצה של ההתראות. במאמר טיפול בכשלים בהעברת הודעות מוסבר איך לעקוב אחרי כשלים בהעברת הודעות לנושאים ב-Google Cloud Pub/Sub.
מינויים שהופעלו מחדש ימשיכו לפעול עד תאריך התפוגה המקורי. במאמר עדכון או חידוש של מינוי מוסבר איך להאריך את תאריך התפוגה של מינוי.
Apps Script
- מינוי ל-Google Workspace. במאמר יצירת מינוי מוסבר איך יוצרים מינוי.
נדרש אימות משתמש עם היקף אחד או יותר שתומך בכל סוגי האירועים של המינוי.
- פרויקט Apps Script:
- משתמשים בפרויקט Google Cloud במקום בפרויקט ברירת המחדל שנוצר באופן אוטומטי על ידי Apps Script.
- לכל היקפי ההרשאות שהוספתם כדי להגדיר את מסך ההסכמה של OAuth, עליכם להוסיף את ההיקפים גם לקובץ
appsscript.json
בפרויקט Apps Script. לדוגמה: - מפעילים את השירות המתקדם
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 ואילך
- הכלי לניהול חבילות pip
- ספריות הלקוח העדכניות ביותר של Google ל-Python. כדי להתקין או לעדכן אותם, מריצים את הפקודה הבאה בממשק שורת הפקודה:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- מינוי ל-Google Workspace. במאמר יצירת מינוי מוסבר איך יוצרים מינוי.
נדרש אימות משתמש עם היקף אחד או יותר שתומך בכל סוגי האירועים של המינוי.
זיהוי ופתרון שגיאות
כדי לזהות את השגיאה של המינוי, בודקים את השדה suspensionReason
של המינוי. אפשר למצוא את השדה הזה כשמקבלים אירוע מחזור חיים לגבי ההשעיה, או באמצעות השיטה subscriptions.get()
כדי לבדוק את כל השדות של המינוי.
בטבלה הבאה מוצגות שגיאות אפשריות שקשורות למינוי, ואם יש פתרון, הוא מופיע לצד השגיאה. אם לא מצליחים לפתור את השגיאה, אפשר למחוק את המינוי או להמתין לתפוגת התוקף שלו. Google Workspace Events API מחק באופן אוטומטי מינויים שפג תוקפם.
שגיאה | תיאור | דרכים לפתרון הבעיה |
---|---|---|
|
המשתמש המבצע את ההרשאה ביטל את ההקצאה של היקף OAuth אחד או יותר שנדרשים למינוי. | לקבל אסימון גישה נוסף. פרטים נוספים זמינים במאמר קבלת אסימון גישה משרת ההרשאות של Google. |
|
משאב היעד של המינוי נמחק. | אם המשאב שוחזר, צריך לקרוא ל-method reactivate() . אחרת, לא נדרשת כל פעולה כי אי אפשר להפעיל מחדש מינוי בלי משאב היעד המקורי שלו. |
|
למשתמש המאשר אין יותר גישה למשאב של המינוי. | לא נדרשת כל פעולה. לא ניתן להפעיל מחדש את המינוי, כי למשתמש שהעניק את ההרשאה אין גישה למשאב היעד. |
|
לאפליקציית Google Workspace אין גישה לשליחת אירועים לנקודת הקצה של ההתראות. | מעניקים גישה לחשבון השירות של אפליקציית Google Workspace שמעבירה את האירועים. באירועים ב-Google Chat, חשבון השירות הוא chat-api-push@system.gserviceaccount.com . באירועים ב-Google Meet, חשבון השירות הוא meet-api-event-push@system.gserviceaccount.com .לנושאי Pub/Sub, מקצים לחשבון השירות את התפקיד פרסום הודעות ב-Pub/Sub ( roles/pubsub.publisher)
). |
|
נקודת הקצה של ההתראות לא קיימת או לא ניתן למצוא אותה. | בודקים שהנקודה הקצה עדיין פעילה ופועלת. כדי לפתור בעיות בנושאי Pub/Sub, אפשר לעיין במסמכי העזרה בנושא פתרון בעיות. |
|
נקודת הקצה של ההתראות לא הצליחה לקבל אירועים בגלל מכסה לא מספיקה או הגבלת קצב של יצירת בקשות. | מבקשים להגדיל את המכסה. |
הפעלה מחדש של מינוי
אחרי שתטפלו בשגיאה שגרמה להשעיית המינוי, תוכלו להשתמש ב-method 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('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' 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 ושנתתם לקובץ את השם
client_secrets.json
. דוגמת הקוד משתמשת בקובץ ה-JSON הזה כדי לבצע אימות באמצעות Google Workspace ולקבל את פרטי הכניסה של המשתמש. להוראות, תוכלו לקרוא את המאמר יצירת פרטי כניסה של מזהה לקוח OAuth.כדי להפעיל מחדש את המינוי ל-Google Workspace, מריצים את הפקודה הבאה במסוף:
python3 reactivate_subscription.py
Subscription
.
אם הבקשה נכשלת, אפשר לעיין בקטע הבא כדי לפתור שגיאות נוספות.
פתרון בעיות של שגיאות מרובות
אם פתרתם את השגיאה שגרמה להשעיית המינוי והשיטה reactivate()
נכשלת, יכול להיות שהתרחשה שגיאה אחרת אחרי שהמינוי הושעה.
כדי לזהות שגיאות נוספות, בודקים את הפלט מהבקשה שנכשלה. הפלט מכיל את כל השגיאות שעדיין קיימות.
אם יש כמה שגיאות במינוי, הערך בשדה suspensionReason
תמיד יהיה השגיאה המקורית שגרמה להשעיית המינוי.