توضّح هذه الصفحة كيفية تجديد اشتراك Google Workspace باستخدام طريقة الدفع subscriptions.update()
. يمكنك استخدام هذه الطريقة لتعديل وقت انتهاء صلاحية الاشتراك، بما في ذلك تجديد الاشتراك لأطول مدة ممكنة، أو لتعديل قائمة أنواع الأحداث التي تريد تلقّيها بشأن المورد المستهدف.
برمجة التطبيقات
- اشتراك في Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على إنشاء اشتراك.
- مشروع "برمجة تطبيقات Google":
- استخدِم مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي يتم إنشاؤه تلقائيًا بواسطة Apps Script.
- بالنسبة إلى جميع النطاقات التي أضفتها لإعداد شاشة موافقة OAuth، عليك أيضًا إضافة النطاقات إلى ملف
appsscript.json
في مشروع "برمجة تطبيقات Google". على سبيل المثال، إذا حدّدت النطاقchat.messages
، أضِف ما يلي: - فعِّل
خدمة
Google Workspace Events
المتقدّمة.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
يتطلّب المصادقة ونطاق تفويض مناسب لكل نوع حدث في الاشتراك:
- لإثبات هوية المستخدم، يجب توفُّر نطاق واحد أو أكثر يتيح نوعًا واحدًا على الأقل من أنواع الأحداث للاشتراك. لتحديد نطاق، اطّلِع على النطاقات حسب نوع الحدث.
- للاشتراك في حدث Chat كتطبيق Chat، يجب مصادقة التطبيق بموافقة المشرف لمرة واحدة. تتوفّر ميزة الاشتراك في حدث Chat كتطبيق Chat في معاينة المطوّر.
Python
- الإصدار 3.6 أو الإصدارات الأحدث من Python
- أداة إدارة الحزم pip
- أحدث مكتبات برامج Google للغة Python لتثبيتها أو تعديلها، نفِّذ الأمر التالي
في واجهة سطر الأوامر:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- اشتراك في Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على إنشاء اشتراك.
يتطلّب المصادقة ونطاق تفويض مناسب لكل نوع حدث في الاشتراك:
- لإثبات هوية المستخدم، يجب توفُّر نطاق واحد أو أكثر يتيح نوعًا واحدًا على الأقل من أنواع الأحداث للاشتراك. لتحديد نطاق، اطّلِع على النطاقات حسب نوع الحدث.
- للاشتراك في حدث Chat كتطبيق Chat، يجب مصادقة التطبيق بموافقة المشرف لمرة واحدة. تتوفّر ميزة الاشتراك في حدث Chat كتطبيق Chat في معاينة المطوّر.
تجديد اشتراك Google Workspace
في هذا القسم، ستستخدم طريقة subscriptions.update()
في Google Workspace Events API لتجديد الاشتراك إلى أقصى مدة صلاحية. لتحديد الحدّ الأقصى لوقت انتهاء الصلاحية، عليك تعديل الحقل ttl
الخاص بمورد Subscription
إلى 0
.
يعتمد الحد الأقصى لوقت انتهاء الصلاحية على بيانات الموارد المضمّنة في حمولة الحدث. لمزيد من المعلومات عن أوقات انتهاء الصلاحية، اطّلِع على بيانات أحداث Google Workspace.
لتجديد اشتراك Google Workspace، اتّبِع الخطوات التالية:
برمجة التطبيقات
في مشروع "برمجة تطبيقات Google"، أنشئ ملف نص برمجي جديدًا باسم
updateSubscription
وأضِف الرمز التالي:function updateSubscription() { // The name of the subscription to update. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.patch({ ttl: '0s', }, name); console.log(response); }
غيِّر القيم في السلسلة على الشكل التالي:
لتعديل اشتراك Google Workspace، شغِّل الدالة
updateSubscription
في مشروع "برمجة تطبيقات Google".
Python
في دليل العمل، أنشئ ملفًا باسم
update_subscription.py
وأضِف الرمز التالي:"""Update 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, ) BODY = { 'ttl': {'seconds': 0}, } NAME = 'subscriptions/SUBSCRIPTION_ID' response = ( service.subscriptions() .patch(name=NAME, updateMask='ttl', body=BODY) .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 update_subscription.py
Subscription
.
للحصول على تفاصيل حول مورد Subscription
المعدَّل، استخدِم طريقة
operations.get()
وحدِّد مورد Operation
الذي تم عرضه من طلب subscriptions.update()
. في ما عدا ذلك، إذا حدّدت مورد Operation
من إصدار سابق من الاشتراك، ستكون الاستجابة فارغة.
تعديل اشتراك أو تجديده كتطبيق Google Chat
يمكنك تعديل اشتراك في أحداث Chat أو تجديده كتطبيق Chat بدلاً من مستخدم. وتكون العملية مشابهة، باستثناء ما يلي:
بدلاً من مصادقة المستخدم، يمكنك المصادقة كتطبيق Chat من خلال موافقة المشرف لمرة واحدة.
حدِّد نطاقات التفويض التي تسمح لتطبيق Chat بالاشتراك في أحداث Chat. تبدأ نطاقات الأذونات هذه دائمًا بـ
chat.app
، وتشمل ما يلي:https://www.googleapis.com/auth/chat.app.memberships
: للاشتراك في أحداث أعضاء مساحة Chathttps://www.googleapis.com/auth/chat.app.messages.readonly
: للاشتراك في أحداث رسائل مساحة Chathttps://www.googleapis.com/auth/chat.app.spaces
: للاشتراك في أحداث مساحة Chat.
إنشاء مفتاح واجهة برمجة تطبيقات
لاستدعاء إحدى طرق واجهة برمجة التطبيقات في "معاينة المطوّر"، يجب استخدام إصدار غير متاح للجميع من مستند اكتشاف واجهة برمجة التطبيقات. للمصادقة على الطلب، يجب إدخال مفتاح واجهة برمجة التطبيقات.
لإنشاء مفتاح واجهة برمجة التطبيقات، افتح مشروع Google Cloud الخاص بتطبيقك واتّبِع الخطوات التالية:
- في Google Cloud Console، انتقِل إلى "القائمة" > واجهات برمجة التطبيقات والخدمات > بيانات الاعتماد.
- انقر على إنشاء بيانات اعتماد > مفتاح واجهة برمجة التطبيقات.
- يظهر مفتاح واجهة برمجة التطبيقات الجديد.
- انقر على "نسخ" لنسخ مفتاح واجهة برمجة التطبيقات واستخدامه في رمز تطبيقك. يمكنك أيضًا العثور على مفتاح واجهة برمجة التطبيقات في قسم "مفاتيح واجهة برمجة التطبيقات" ضمن بيانات اعتماد مشروعك.
- لمنع الاستخدام غير المصرّح به، ننصحك بفرض قيود على الأماكن التي يمكن فيها استخدام مفتاح واجهة برمجة التطبيقات وعلى واجهات برمجة التطبيقات التي يمكن استخدام المفتاح معها. لمزيد من التفاصيل، يُرجى الاطّلاع على إضافة قيود على واجهة برمجة التطبيقات.
كتابة نص برمجي يستدعي Google Workspace Events API
يعدّل نموذج الرمز البرمجي التالي اشتراك Google Workspace الخاص بتطبيق Chat:
Python
"""Update 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,
discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
غيِّر القيم في السلسلة على الشكل التالي:
استبدِل
SCOPES
بنطاقات التفويض التي تسمح لتطبيق Chat بالاشتراك في أحداث Chat. تبدأ نطاقات الأذونات هذه دائمًا بـchat.app
، وتشمل ما يلي:https://www.googleapis.com/auth/chat.app.memberships
: للاشتراك في أحداث أعضاء مساحة Chat-
https://www.googleapis.com/auth/chat.app.messages.readonly
: للاشتراك في أحداث الرسائل والتفاعلات في "مساحة Chat" https://www.googleapis.com/auth/chat.app.spaces
: للاشتراك في أحداث مساحة Chat
استبدِل
API_KEY
بمفتاح واجهة برمجة التطبيقات الذي أنشأته لإنشاء نقطة نهاية الخدمة لواجهة برمجة التطبيقات Google Workspace Events API.
SUBSCRIPTION_ID
: رقم تعريف الاشتراك. للحصول على المعرّف، يمكنك استخدام أيّ مما يلي: