توضّح هذه الصفحة كيفية إعادة تفعيل اشتراك معلّق في Google Workspace من خلال
حلّ الأخطاء أو تحديد المشاكل فيها وحلّها واستخدام طريقة
subscriptions.reactivate()
.
يتم تعليق اشتراكات Google Workspace عندما يمنع خطأ الاشتراك من تلقّي الأحداث. على سبيل المثال، يتم تعليق اشتراك إذا تعذّر العثور على المورد المستهدف أو نقطة نهاية الإشعار. بعد حلّ أي أخطاء متعلّقة بالاشتراك، يمكنك إعادة تفعيل الاشتراك لبدء تلقّي الأحداث مرة أخرى.
يمكنك التعرُّف على اشتراك معلّق من خلال الطرق التالية:
- يتلقّى تطبيقك حدث دورة حياة بشأن التعليق. إذا تم تعليق اشتراكك بسبب خطأ في نقطة النهاية، قد لا تتلقّى حدث دورة حياة.
- يمكنك استخدام الطريقتَين
subscriptions.get()
أوsubscriptions.list()
لمعرفة ما إذا تم ضبط حقلstate
للاشتراك علىSUSPENDED
أم لا. - يتم إعلامك بتعذُّر التسليم إلى نقطة نهاية الإشعارات. وللتعرّف على حالات تعذُّر تسليم الرسائل إلى مواضيع Google Cloud Pub/Sub، يمكنك الاطّلاع على مقالة التعامل مع حالات تعذُّر إرسال الرسائل.
تحتفظ الاشتراكات المُعاد تفعيلها بتاريخ انتهاء الصلاحية الأصلي. لتمديد فترة انتهاء صلاحية الاشتراك، راجِع المقالة تحديث اشتراك أو تجديده.
برمجة تطبيقات
- اشتراك Google Workspace: لإنشاء اشتراك، راجِع إنشاء اشتراك.
يتطلب ذلك مصادقة المستخدم باستخدام نطاق واحد أو أكثر متوافق مع جميع أنواع الأحداث للاشتراك.
- مشروع "برمجة تطبيقات Google":
- يمكنك استخدام مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي يتم إنشاؤه تلقائيًا من خلال "برمجة التطبيقات".
- بالنسبة إلى أي نطاقات أضفتها لإعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth، عليك أيضًا إضافة
النطاقات إلى ملف
appsscript.json
في مشروع "برمجة تطبيقات Google". مثال:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- تفعيل
خدمة
Google Workspace Events
المتقدّمة
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. |
|
يتم حذف المورد الهدف للاشتراك. | وإذا تمت استعادة المورد، عليك استدعاء الطريقة reactivate() . أمّا في حال عدم التأهّل لإرسال هذه الرسالة، فليس عليك اتّخاذ أي إجراء، إذ لا يمكنك إعادة تفعيل
اشتراك بدون مورده الأصلي المستهدَف. |
|
لم يعد بإمكان المستخدم المفوَّض الوصول إلى مورد الاشتراك. | ليس عليك اتّخاذ أي إجراء. لا يمكنك إعادة تفعيل الاشتراك، لأنّ المستخدم الذي فوَّضه لا يمكنه الوصول إلى المورد الهدف. |
|
لا يملك تطبيق Google Workspace إذن الوصول لتسليم الأحداث إلى نقطة نهاية الإشعارات. | امنح إذن الوصول إلى حساب الخدمة لتطبيق Google Workspace
الذي يرسل الأحداث. بالنسبة إلى أحداث Google Chat، يكون حساب الخدمة هو chat-api-push@system.gserviceaccount.com . بالنسبة إلى أحداث Google Meet، يكون حساب الخدمة
meet-api-event-push@system.gserviceaccount.com .بالنسبة إلى مواضيع النشر/الاشتراك، يجب منح دور ناشر النشر/الاشتراك ( roles/pubsub.publisher)
إلى حساب الخدمة). |
|
نقطة نهاية الإشعار غير موجودة أو لا يمكن العثور عليها. | تحقَّق من أن نقطة النهاية لا تزال نشطة وتعمل. لتحديد مشاكل مواضيع النشر/الاشتراك وحلّها، راجِع مستندات تحديد المشاكل وحلّها. |
|
تعذّر على نقطة نهاية الإشعار في تلقّي الأحداث بسبب عدم كفاية الحصة أو بلوغ الحد الأقصى للمعدل. | اطلب زيادة الحصة. |
إعادة تفعيل اشتراك
بعد حل الخطأ الذي أدى إلى تعليق اشتراكك، يمكنك استخدام
طريقة reactivate()
للسماح للاشتراك بتلقّي الأحداث مرة أخرى. تتحقّق
الطريقة من حلّ جميع الأخطاء وتغيير حقل state
للاشتراك من SUSPENDED
إلى ACTIVE
.
لإعادة تفعيل اشتراك Google Workspace، اتّبِع الخطوات التالية:
برمجة تطبيقات
في مشروع برمجة التطبيقات، أنشئ ملف نص برمجي جديدًا باسم
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
في مشروع "برمجة تطبيقات Google".
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
دائمًا الخطأ الأصلي الذي أدى إلى تعليق
اشتراكك.