اشتراک Google Workspace را به‌روزرسانی یا تمدید کنید

این صفحه نحوه تمدید اشتراک Google Workspace را با استفاده از متد subscriptions.update() توضیح می‌دهد. شما می توانید از این روش برای به روز رسانی زمان انقضای یک اشتراک، از جمله تمدید اشتراک برای حداکثر زمان انقضای ممکن، یا به روز رسانی لیست انواع رویدادها برای دریافت در مورد منبع هدف استفاده کنید.

اسکریپت برنامه ها

  • اشتراک Google Workspace. برای ایجاد یک اشتراک، به ایجاد اشتراک مراجعه کنید.

  • یک پروژه Apps Script:
    • از پروژه Google Cloud خود به جای پروژه پیش‌فرض ایجاد شده توسط Apps Script استفاده کنید.
    • برای همه دامنه‌هایی که برای پیکربندی صفحه رضایت OAuth اضافه کرده‌اید، باید دامنه‌ها را نیز به فایل appsscript.json در پروژه Apps Script خود اضافه کنید. به عنوان مثال، اگر محدوده chat.messages را مشخص کرده اید، موارد زیر را اضافه کنید:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • سرویس پیشرفته Google Workspace Events را فعال کنید .

پایتون

  • پایتون 3.6 یا بالاتر
  • ابزار مدیریت بسته پیپ
  • جدیدترین کتابخانه های مشتری گوگل برای پایتون. برای نصب یا به روز رسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

اشتراک Google Workspace را تمدید کنید

در این بخش، از متد subscriptions.update() API رویدادهای Google Workspace برای تمدید اشتراک تا حداکثر زمان انقضا استفاده می‌کنید. برای تعیین حداکثر زمان انقضا، فیلد ttl منبع Subscription را به 0 به روز می کنید.

حداکثر زمان انقضا بستگی به داده های منبعی دارد که در بارگذاری رویداد گنجانده شده است. برای کسب اطلاعات بیشتر درباره زمان‌های انقضا، به داده‌های رویداد برای رویدادهای Google Workspace مراجعه کنید.

برای تمدید اشتراک Google Workspace:

اسکریپت برنامه ها

  1. در پروژه Apps Script خود، یک فایل اسکریپت جدید به نام 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 را در پروژه Apps Script خود اجرا کنید.

پایتون

  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 را به‌عنوان برنامه چت به‌جای کاربر، به‌روزرسانی یا تمدید کنید. روند مشابه است، به جز:

  1. به‌جای احراز هویت کاربر، به‌عنوان برنامه چت با تأیید یک‌باره سرپرست احراز هویت کنید .

  2. محدوده‌های مجوزی را مشخص کنید که به برنامه چت اجازه می‌دهد در رویدادهای گپ مشترک شود. این دامنه های مجوز همیشه با chat.app شروع می شود و شامل موارد زیر است:

    • https://www.googleapis.com/auth/chat.app.memberships : در رویدادهای اعضای فضای گپ مشترک شوید.
    • https://www.googleapis.com/auth/chat.app.messages.readonly : در رویدادهای پیام فضای گپ مشترک شوید.
    • https://www.googleapis.com/auth/chat.app.spaces : در رویدادهای فضای گپ مشترک شوید.

یک کلید API ایجاد کنید

برای فراخوانی یک روش API پیش‌نمایش برنامه‌نویس، باید از یک نسخه پیش‌نمایش برنامه‌نویس غیرعمومی سند کشف API استفاده کنید. برای احراز هویت درخواست، باید یک کلید API ارسال کنید.

برای ایجاد کلید API، پروژه Google Cloud برنامه خود را باز کنید و کارهای زیر را انجام دهید:

  1. در کنسول Google Cloud، به > APIs & Services > Credentials بروید.

    به Credentials بروید

  2. روی ایجاد اعتبارنامه > کلید API کلیک کنید.
  3. کلید API جدید شما نمایش داده می شود.
    • روی Copy کلیک کنید تا کلید API خود را برای استفاده در کد برنامه خود کپی کنید. کلید API را می‌توانید در بخش «کلیدهای API» اعتبار پروژه‌تان پیدا کنید.
    • برای جلوگیری از استفاده غیرمجاز، توصیه می‌کنیم کلید API را در کجا و برای کدام APIها محدود کنید. برای جزئیات بیشتر، به افزودن محدودیت‌های API مراجعه کنید.

اسکریپتی بنویسید که Google Workspace Events API را فراخوانی کند

نمونه کد زیر اشتراک Google Workspace برنامه Chat را به‌روزرسانی می‌کند:

پایتون

  """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.app شروع می شود و شامل موارد زیر است:

    • https://www.googleapis.com/auth/chat.app.memberships : در رویدادهای اعضای فضای گپ مشترک شوید.
    • https://www.googleapis.com/auth/chat.app.messages.readonly : در رویدادهای پیام و واکنش فضای گپ مشترک شوید.
    • https://www.googleapis.com/auth/chat.app.spaces : در رویدادهای فضای گپ مشترک شوید.
  • API_KEY : کلید API که برای ایجاد نقطه پایانی سرویس برای Google Workspace Events API ایجاد کردید.

  • SUBSCRIPTION_ID : شناسه اشتراک. برای دریافت شناسه می توانید از یکی از موارد زیر استفاده کنید:

    • مقدار فیلد uid .
    • شناسه نام منبع نشان داده شده در قسمت name . به عنوان مثال، اگر نام منبع subscriptions/subscription-123 است، از subscription-123 استفاده کنید.