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

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

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

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

پایتون

  • پایتون ۳.۶ یا بالاتر
  • ابزار مدیریت بسته pip
  • جدیدترین کتابخانه‌های کلاینت گوگل برای پایتون. برای نصب یا به‌روزرسانی آنها، دستور زیر را در رابط خط فرمان خود اجرا کنید:
      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 و دریافت اعتبارنامه‌های کاربر استفاده می‌کند. برای دستورالعمل‌ها، به Create OAuth client ID credentials مراجعه کنید.

  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. در کنسول گوگل کلود، به Menu > APIs & Services > Credentials بروید.

    به اعتبارنامه‌ها بروید

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

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

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

پایتون

  """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 استفاده کنید.