更新或續訂 Google Workspace 訂閱方案

本頁說明如何使用 subscriptions.update() 方法續訂 Google Workspace 訂閱方案。您可以使用這個方法更新訂閱項目的到期時間,包括續訂訂閱項目以延長到期時間,或是更新要接收的目標資源事件類型清單。

Apps Script

  • Apps Script 專案:
    • 請使用 Google Cloud 專案,而非由 Apps Script 自動建立的預設專案。
    • 對於您新增用於設定 OAuth 同意畫面的任何範圍,您也必須將範圍新增至 Apps Script 專案中的 appsscript.json 檔案。例如:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • 啟用 Google Workspace Events 進階服務。

Python

  • Python 3.6 以上版本
  • pip 套件管理工具
  • 最新的 Python 適用 Google 用戶端程式庫。如要安裝或更新這些項目,請在指令列介面中執行下列指令:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

續訂 Google Workspace 訂閱方案

在本節中,您將使用 Google Workspace Events API 的 subscriptions.update() 方法,將訂閱項目續約至其最長的到期時間。如要指定到期時間上限,請將 Subscription 資源的 ttl 欄位更新為 0

最大到期時間取決於事件酬載中包含的資源資料。如要進一步瞭解到期時間,請參閱「Google Workspace 事件的事件資料」。

如要續訂 Google Workspace 訂閱方案,請按照下列步驟操作:

Apps Script

  1. 在 Apps 指令碼專案中,建立名為 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:訂閱項目 ID。如要取得 ID,您可以使用下列任一方法:
      • uid 欄位的值。
      • name 欄位中代表資源名稱的 ID。舉例來說,如果資源名稱為 subscriptions/subscription-123,請使用 subscription-123
  2. 如要更新 Google Workspace 訂閱項目,請在 Apps Script 專案中執行 updateSubscription 函式。

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('client_secrets.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:訂閱項目 ID。如要取得 ID,您可以使用下列任一方法:
      • uid 欄位的值。
      • name 欄位中代表資源名稱的 ID。舉例來說,如果資源名稱為 subscriptions/subscription-123,請使用 subscription-123
  2. 請確認您已在工作目錄中儲存 OAuth 用戶端 ID 憑證,並將檔案命名為 client_secrets.json。程式碼範例會使用這個 JSON 檔案,透過 Google Workspace 進行驗證並取得使用者憑證。如需操作說明,請參閱「建立 OAuth 用戶端 ID 憑證」。

  3. 如要更新 Google Workspace 訂閱方案,請在終端機中執行下列指令:

    python3 update_subscription.py
Google Workspace Events API 會傳回長時間執行作業,其中包含 Subscription 資源的例項。

如要取得更新後 Subscription 資源的詳細資料,請使用 operations.get() 方法,並指定 subscriptions.update() 要求傳回的 Operation 資源。否則,如果您指定的是舊版訂閱項目的 Operation 資源,回應會是空白。