删除 Google Workspace 订阅

本页介绍了如何使用 subscriptions.delete() 方法。

当您删除订阅后,您的应用不会再收到任何事件。如果 订阅到期,Google Workspace Events API 会自动将其删除。

前提条件

Apps 脚本

  • Apps 脚本项目:
    • 使用您的 Google Cloud 项目,而不是 Apps 脚本。
    • 对于您为配置 OAuth 权限请求页面而添加的任何范围,您还必须为其添加 将范围限定在 Apps 脚本项目中的 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 订阅。如需创建这样的账号,请按以下步骤操作: 请参阅创建订阅

  • 需要身份验证

    • 对于用户身份验证,需要 范围,且该范围支持至少一种订阅的事件类型。如需标识范围,请参阅按事件类型划分的范围。 <ph type="x-smartling-placeholder">
    • 对于应用身份验证,需要 chat.bot 范围(仅限 Google Chat 应用)。

删除用户授权的订阅

以下代码示例删除一个 Subscription 资源 使用用户身份验证机制。

如需删除订阅,请执行以下操作:

Apps 脚本

  1. 在您的 Apps 脚本项目中,创建一个新的脚本文件 名为 deleteSubscription,并添加以下代码:

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

    替换以下内容:

    • SUBSCRIPTION_ID:订阅的 ID。要获取 ID,您可以使用以下任一方法: <ph type="x-smartling-placeholder">
        </ph>
      • <ph type="x-smartling-placeholder"></ph> uid 字段。
      • 在 <ph type="x-smartling-placeholder"></ph> name 字段。例如,如果资源名称是 subscriptions/subscription-123,请使用 subscription-123
  2. 如需删除订阅,请在以下位置运行函数 deleteSubscription: Apps 脚本项目。

Python

  1. 在您的工作目录中,创建一个名为 delete_subscription.py 的文件 并添加以下代码:

    """Delete 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('client_secrets.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'
    response = service.subscriptions().delete(name=NAME).execute()
    print(response)
    

    替换以下内容:

    • SCOPE:一个至少支持 订阅中的一种事件类型。例如,如果您的订阅收到事件 已更新的 Chat 聊天室“https://www.googleapis.com/auth/chat.spaces.readonly”。
    • SUBSCRIPTION_ID:订阅的 ID。要获取 ID,您可以使用以下任一方法: <ph type="x-smartling-placeholder">
        </ph>
      • <ph type="x-smartling-placeholder"></ph> uid 字段。
      • 在 <ph type="x-smartling-placeholder"></ph> name 字段。例如,如果资源名称是 subscriptions/subscription-123,请使用 subscription-123
  2. 确保您的工作目录中已存储 OAuth 客户端 ID 并将文件命名为 client_secrets.json。代码示例使用此 JSON 文件,通过 Google Workspace 进行身份验证并获取用户凭据。如需相关说明, 请参阅创建 OAuth 客户端 ID 凭据

  3. 如需删除订阅,请在终端中运行以下命令:

    python3 delete_subscription.py
    
Google Workspace Events API 会返回一个 长时间运行的操作 包含 Subscription 资源的实例。