تعديل اشتراك Google Workspace أو تجديده

توضّح هذه الصفحة كيفية تجديد اشتراك Google Workspace باستخدام طريقة subscriptions.update(). استخدِم هذه الطريقة لتعديل وقت انتهاء صلاحية الاشتراك، بما في ذلك تجديد الاشتراك لأقصى وقت ممكن لانتهاء الصلاحية، أو لتعديل قائمة أنواع الأحداث التي سيتم تلقّيها بشأن المورد المستهدف.

برمجة التطبيقات

  • اشتراك Google Workspace لإنشاء اشتراك، يُرجى الاطّلاع على إنشاء اشتراك.

  • مشروع "برمجة تطبيقات Google":
    • استخدِم مشروعك على Google Cloud بدلاً من المشروع التلقائي الذي يتم إنشاؤه تلقائيًا بواسطة "برمجة تطبيقات Google".
    • بالنسبة إلى جميع النطاقات التي أضفتها لإعداد شاشة طلب الموافقة المتعلّقة ببروتوكول OAuth، عليك أيضًا إضافة النطاقات إلى ملف appsscript.json في مشروع "برمجة تطبيقات Google". على سبيل المثال، إذا حدّدت النطاق chat.messages، أضِف ما يلي:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • فعِّل خدمة Google Workspace Events المتقدّمة.

Python

  • الإصدار 3.6 أو الإصدارات الأحدث من Python
  • أداة إدارة الحزم pip
  • أحدث مكتبات برامج Google للغة Python لتثبيت هذه الحزم أو تعديلها، نفِّذ الأمر التالي في واجهة سطر الأوامر:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

تجديد اشتراك Google Workspace

في هذا القسم، استخدِم طريقة subscriptions.update() في Google Workspace Events API لتجديد الاشتراك إلى أقصى مدة صلاحية. لتحديد الحدّ الأقصى لوقت انتهاء الصلاحية، عدِّل الحقل ttl في مورد Subscription إلى 0.

يعتمد الحد الأقصى لوقت انتهاء الصلاحية على بيانات الموارد المضمّنة في حمولة الحدث. لمزيد من المعلومات عن أوقات انتهاء الصلاحية، اطّلِع على بيانات أحداث Google Workspace.

لتجديد اشتراك Google Workspace، اتّبِع الخطوات التالية:

برمجة التطبيقات

  1. في مشروع "برمجة تطبيقات 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);
    }
    

    غيِّر القيم في السلسلة على الشكل التالي:

    • SUBSCRIPTION_ID: رقم تعريف الاشتراك. للحصول على المعرّف، يمكنك استخدام أيّ مما يلي:
      • قيمة الحقل uid
      • معرّف اسم المرجع الممثّل في الحقل name على سبيل المثال، إذا كان اسم المورد هو subscriptions/subscription-123، استخدِم subscription-123.
  2. لتعديل اشتراك Google Workspace، شغِّل الدالة updateSubscription في مشروع "برمجة تطبيقات Google".

Python

  1. في دليل العمل، أنشئ ملفًا باسم 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: رقم تعريف الاشتراك. للحصول على المعرّف، يمكنك استخدام أيّ مما يلي:
      • قيمة الحقل uid
      • معرّف اسم المرجع الممثّل في الحقل name على سبيل المثال، إذا كان اسم المورد هو subscriptions/subscription-123، استخدِم subscription-123.
  2. في دليل العمل، تأكَّد من تخزين بيانات اعتماد معرّف عميل OAuth وتسمية الملف credentials.json. تستخدم عينة التعليمات البرمجية ملف JSON هذا للمصادقة مع Google Workspace والحصول على بيانات اعتماد المستخدم. للاطّلاع على التعليمات، راجِع مقالة إنشاء بيانات اعتماد معرّف عميل OAuth.

  3. لتعديل اشتراك Google Workspace، نفِّذ ما يلي في نافذة الأوامر:

    python3 update_subscription.py
تعرض واجهة برمجة التطبيقات Google Workspace Events API عملية طويلة الأمد تحتوي على مثيل المورد Subscription.

للحصول على تفاصيل حول مورد Subscription المعدَّل، استخدِم طريقة operations.get() وحدِّد مورد Operation الذي تم عرضه من طلب subscriptions.update(). في ما عدا ذلك، إذا حدّدت مورد Operation من إصدار سابق من الاشتراك، ستكون الاستجابة فارغة.

تعديل اشتراك أو تجديده كتطبيق Google Chat

يمكنك تعديل اشتراك في أحداث Chat أو تجديده كتطبيق Chat بدلاً من مستخدم. وتكون العملية مشابهة، باستثناء ما يلي:

  1. بدلاً من مصادقة المستخدم، يمكنك المصادقة كتطبيق Chat من خلال موافقة المشرف لمرة واحدة.

  2. حدِّد نطاقات التفويض التي تسمح لتطبيق Chat بالاشتراك في أحداث Chat. تبدأ نطاقات الأذونات هذه دائمًا بـ chat.app، وتشمل ما يلي:

    • https://www.googleapis.com/auth/chat.app.memberships: للاشتراك في أحداث أعضاء مساحة Chat
    • https://www.googleapis.com/auth/chat.app.memberships.readonly: للاشتراك في أحداث أعضاء مساحة Chat
    • https://www.googleapis.com/auth/chat.app.messages.readonly: للاشتراك في أحداث رسائل مساحة Chat
    • https://www.googleapis.com/auth/chat.app.spaces: للاشتراك في أحداث مساحة Chat
    • https://www.googleapis.com/auth/chat.app.spaces.readonly: للاشتراك في أحداث مساحة Chat

كتابة نص برمجي يستدعي 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,
  )

  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.memberships.readonly: للاشتراك في أحداث أعضاء مساحة Chat
    • https://www.googleapis.com/auth/chat.app.messages.readonly: للاشتراك في أحداث الرسائل والتفاعلات في مساحة Chat
    • https://www.googleapis.com/auth/chat.app.spaces: للاشتراك في أحداث مساحة Chat
    • https://www.googleapis.com/auth/chat.app.spaces.readonly: للاشتراك في أحداث مساحة Chat
  • SUBSCRIPTION_ID: رقم تعريف الاشتراك. للحصول على المعرّف، يمكنك استخدام أيّ مما يلي:

    • قيمة الحقل uid
    • معرّف اسم المرجع الممثّل في الحقل name على سبيل المثال، إذا كان اسم المورد هو subscriptions/subscription-123، استخدِم subscription-123.