בדף הזה מוסבר איך מפעילים מחדש מינוי מושעה ל-Google Workspace על ידי פתרון שגיאות או פתרון בעיות, וקריאה ל-method subscriptions.reactivate()
.
המינויים ל-Google Workspace מושעים אם יש שגיאה שמונעת מהם לקבל אירועים. לדוגמה, מינוי יושעה אם לא ניתן למצוא את משאב היעד או את נקודת הקצה לקבלת התראות שלו. אחרי שתפתרו את השגיאות במינוי, תוכלו להפעיל אותו מחדש כדי להתחיל לקבל שוב אירועים.
אתם יכולים לקבל מידע על מינוי מושעה בדרכים הבאות:
- האפליקציה שלכם תקבל אירוע במחזור החיים לגבי ההשעיה. אם המינוי שלכם הושעה בגלל שגיאה בנקודת הקצה שלו, יכול להיות שלא תקבלו אירוע מחזור חיים.
- משתמשים ב-methods
subscriptions.get()
או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()
כדי לבדוק את כל השדות של המינוי.
בטבלה הבאה מוצגות שגיאות אפשריות שקשורות למינוי, ואם יש פתרון, הוא מופיע לצד השגיאה. אם לא מצליחים לפתור את השגיאה, אפשר למחוק את המינוי או להמתין לתפוגת התוקף שלו. ה-API של האירועים של Google Workspace מוחק באופן אוטומטי מינויים שפג תוקפם.
שגיאה | תיאור | דרכים לפתרון הבעיה |
---|---|---|
|
המשתמש המבצע את ההרשאה ביטל את ההקצאה של היקף 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()
כדי לאפשר למינוי לקבל שוב אירועים. ה-method בודק שכל השגיאות נפתרו ומשנה את השדה 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
תמיד יהיה השגיאה המקורית שגרמה להשעיית המינוי.