این صفحه نحوه فعال کردن مجدد اشتراک Google Workspace معلق را با رفع یا عیبیابی خطاها و فراخوانی متد subscriptions.reactivate()
توضیح میدهد.
هر زمان که خطایی مانع از دریافت رویدادهای اشتراک شود، اشتراکهای Google Workspace به حالت تعلیق در میآیند. به عنوان مثال، زمانی که منبع هدف یا نقطه پایانی اعلان آن یافت نشود، اشتراک به حالت تعلیق در میآید. پس از رفع هر گونه خطا در اشتراک، می توانید اشتراک را دوباره فعال کنید تا دوباره دریافت رویدادها آغاز شود.
میتوانید از روشهای زیر درباره اشتراک معلق مطلع شوید:
- برنامه شما یک رویداد چرخه حیات در مورد تعلیق دریافت می کند. اگر اشتراک شما به دلیل خطایی در نقطه پایانی آن به حالت تعلیق درآمده است، ممکن است رویداد چرخه حیات را دریافت نکنید.
- شما از متدهای
subscriptions.get()
یاsubscriptions.list()
استفاده می کنید تا ببینید آیا فیلدstate
اشتراک رویSUSPENDED
تنظیم شده است یا خیر. - در مورد عدم تحویل به نقطه پایانی اعلان به شما اطلاع داده شده است. برای آشنایی با نظارت بر خطاهای تحویل به موضوعات Google Cloud Pub/Sub، به مدیریت خطاهای پیام مراجعه کنید.
اشتراک های دوباره فعال شده تاریخ انقضای اصلی را حفظ می کنند. برای تمدید زمان انقضای یک اشتراک، به بهروزرسانی یا تمدید اشتراک مراجعه کنید.
اسکریپت برنامه ها
- اشتراک Google Workspace. برای ایجاد یک اشتراک، به ایجاد اشتراک مراجعه کنید.
نیاز به احراز هویت کاربر با یک یا چند حوزه دارد که از همه انواع رویداد برای اشتراک پشتیبانی می کند .
- پروژه Apps Script:
- از پروژه Google Cloud خود به جای پروژه پیشفرض ایجاد شده توسط Apps Script استفاده کنید.
- برای هر دامنهای که برای پیکربندی صفحه رضایت OAuth اضافه کردهاید، باید دامنهها را نیز به فایل
appsscript.json
در پروژه Apps Script خود اضافه کنید. مثلا:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- سرویس پیشرفته
Google Workspace Events
را فعال کنید .
پایتون
- پایتون 3.6 یا بالاتر
- ابزار مدیریت بسته پیپ
- جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- اشتراک Google Workspace. برای ایجاد یک اشتراک، به ایجاد اشتراک مراجعه کنید.
نیاز به احراز هویت کاربر با یک یا چند حوزه دارد که از همه انواع رویداد برای اشتراک پشتیبانی می کند .
خطاها را شناسایی و برطرف کنید
برای شناسایی خطای اشتراک، قسمت suspensionReason
اشتراک را بررسی کنید. میتوانید این فیلد را زمانی که رویداد چرخه حیات درباره تعلیق را دریافت میکنید، یا با استفاده از روش subscriptions.get()
برای بررسی همه فیلدهای اشتراک پیدا کنید.
جدول زیر خطاهای احتمالی یک اشتراک و در صورت امکان نحوه رفع خطاها را نشان می دهد. اگر نمی توانید خطا را برطرف کنید، می توانید اشتراک را حذف کنید یا منتظر بمانید تا منقضی شود. Google Workspace Events API اشتراکهای منقضی شده را بطور خودکار حذف میکند.
خطا | شرح | راه حل |
---|---|---|
| کاربر مجاز اعطای یک یا چند محدوده OAuth را که برای اشتراک لازم است لغو کرده است. | یک نشانه دسترسی دیگر دریافت کنید. برای جزئیات، به دریافت رمز دسترسی از سرور مجوز Google مراجعه کنید. |
| منبع هدف برای اشتراک حذف شده است. | اگر منبع بازیابی شد، متد 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 Publisher ( roles/pubsub.publisher) را به حساب سرویس اختصاص دهید. |
| نقطه پایانی اعلان وجود ندارد یا یافت نمی شود. | بررسی کنید که نقطه پایانی همچنان فعال و کار می کند. برای عیبیابی موضوعات Pub/Sub، به مستندات عیبیابی مراجعه کنید. |
| نقطه پایانی اعلان به دلیل سهمیه ناکافی یا رسیدن به محدودیت نرخ، رویدادها را دریافت نکرد. | درخواست افزایش سهمیه |
اشتراک را دوباره فعال کنید
پس از رفع خطای تعلیق اشتراک، می توانید از متد reactivate()
استفاده کنید تا اشتراک دوباره رویدادها را دریافت کند. این روش بررسی میکند که همه خطاها برطرف شده باشند و فیلد state
اشتراک شما را از SUSPENDED
به ACTIVE
تغییر میدهد.
برای فعال کردن مجدد اشتراک Google Workspace:
اسکریپت برنامه ها
در پروژه 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 خود اجرا کنید.
پایتون
در پوشه کاری خود، یک فایل به نام
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
همیشه از خطای اصلی استفاده میکند که اشتراک شما را به حالت تعلیق درآورده است.