取得 Google Workspace 訂閱方案的詳細資料

本頁說明如何使用 subscriptions.get() 方法,取得 Google Workspace 訂閱方案的詳細資料。

使用使用者驗證呼叫這個方法時,方法會傳回使用者授權的訂閱項目詳細資料。使用應用程式驗證時,這個方法可以傳回應用程式任何訂閱項目的詳細資料。

必要條件

Apps Script

  • Apps Script 專案:
    • 使用 Google Cloud 專案,而非 Apps Script 自動建立的預設專案。
    • 針對您新增的所有範圍,以設定 OAuth 同意畫面,您也必須將範圍新增至 Apps Script 專案的 appsscript.json 檔案。舉例來說,如果您指定 chat.messages 範圍,請新增下列項目:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • 啟用Google Workspace Events進階服務。

Python

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

  • 需要驗證

    • 如要進行使用者驗證,必須使用至少支援一項訂閱事件類型的範圍。如要找出範圍,請參閱「依事件類型劃分的範圍」。
    • 如要進行應用程式驗證,必須使用 chat.bot 範圍 (僅限 Google Chat 應用程式)。

取得使用者授權的訂閱項目

下列程式碼範例會使用使用者驗證,取得 Subscription 資源的詳細資料。以使用者身分通過驗證後,這個方法會傳回使用者授權應用程式建立的訂閱項目。

如何取得使用者授權的訂閱項目:

Apps Script

  1. 在 Apps Script 專案中,建立名為 getSubscription 的新指令碼檔案,並新增下列程式碼:

    function getSubscription() {
      // The name of the subscription to get.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const subscription = WorkspaceEvents.Subscriptions.get(name);
      console.log(subscription);
    }
    

    更改下列內容:

    • SUBSCRIPTION_ID:訂閱 ID。如要取得 ID,可以使用下列任一方法:
      • uid 欄位的值。
      • name 欄位中代表的資源名稱 ID。舉例來說,如果資源名稱是 subscriptions/subscription-123,請使用 subscription-123
  2. 如要取得訂閱項目,請在 Apps Script 專案中執行 getSubscription 函式。

Python

  1. 在工作目錄中,建立名為 get_subscription.py 的檔案,並加入下列程式碼:

    """Get subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # 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,
    )
    
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    subscription = service.subscriptions().get(name=NAME).execute()
    print(subscription)
    

    更改下列內容:

    • SCOPE至少支援訂閱項目中一個事件類型的 OAuth 範圍。舉例來說,如果訂閱項目收到事件,例如更新後的 Chat 聊天室 https://www.googleapis.com/auth/chat.spaces.readonly
    • SUBSCRIPTION_ID:訂閱 ID。如要取得 ID,可以使用下列任一方法:
      • uid 欄位的值。
      • name 欄位中代表的資源名稱 ID。舉例來說,如果資源名稱是 subscriptions/subscription-123,請使用 subscription-123
  2. 請確認工作目錄中已儲存 OAuth 用戶端 ID 憑證,且檔案名為 credentials.json。程式碼範例會使用這個 JSON 檔案向 Google Workspace 進行驗證,並取得使用者憑證。如需操作說明,請參閱「建立 OAuth 用戶端 ID 憑證」。

  3. 如要取得訂閱項目,請在終端機中執行下列指令:

    python3 get_subscription.py