Cập nhật hoặc gia hạn gói thuê bao Google Workspace

Trang này giải thích cách gia hạn gói thuê bao Google Workspace bằng phương thức subscriptions.update(). Bạn có thể sử dụng phương thức này để cập nhật thời gian hết hạn của một gói thuê bao, bao gồm cả việc gia hạn gói thuê bao trong thời gian hết hạn tối đa có thể hoặc để cập nhật danh sách các loại sự kiện cần nhận về tài nguyên mục tiêu.

Apps Script

  • Gói thuê bao Google Workspace. Để tạo một gói thuê bao, hãy xem phần Tạo gói thuê bao.

  • Một dự án Apps Script:
    • Sử dụng dự án Google Cloud của bạn thay vì dự án mặc định do Apps Script tự động tạo.
    • Đối với tất cả các phạm vi mà bạn đã thêm để định cấu hình màn hình đồng ý OAuth, bạn cũng phải thêm các phạm vi đó vào tệp appsscript.json trong dự án Apps Script. Ví dụ: nếu bạn chỉ định phạm vi chat.messages, hãy thêm nội dung sau:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Bật dịch vụ nâng cao Google Workspace Events.

Python

  • Python 3.6 trở lên
  • Công cụ quản lý gói pip
  • Thư viện ứng dụng mới nhất của Google cho Python. Để cài đặt hoặc cập nhật các công cụ này, hãy chạy lệnh sau trong giao diện dòng lệnh:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Gia hạn gói thuê bao Google Workspace

Trong phần này, bạn sẽ sử dụng phương thức subscriptions.update() của Google Workspace Events API để gia hạn một gói thuê bao đến thời gian hết hạn tối đa. Để chỉ định thời gian hết hạn tối đa, bạn cần cập nhật trường ttl của tài nguyên Subscription thành 0.

Thời gian hết hạn tối đa phụ thuộc vào dữ liệu tài nguyên có trong tải trọng sự kiện. Để tìm hiểu thêm về thời gian hết hạn, hãy xem bài viết Dữ liệu sự kiện cho các sự kiện trên Google Workspace.

Cách gia hạn gói thuê bao Google Workspace:

Apps Script

  1. Trong dự án Apps Script, hãy tạo một tệp kịch bản mới có tên là updateSubscription rồi thêm mã sau:

    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);
    }
    

    Thay thế nội dung sau:

    • SUBSCRIPTION_ID: Mã nhận dạng của gói thuê bao. Để lấy mã nhận dạng, bạn có thể sử dụng bất kỳ phương thức nào sau đây:
      • Giá trị của trường uid.
      • Mã nhận dạng của tên tài nguyên được biểu thị trong trường name. Ví dụ: nếu tên tài nguyên là subscriptions/subscription-123, hãy dùng subscription-123.
  2. Để cập nhật gói thuê bao Google Workspace, hãy chạy hàm updateSubscription trong dự án Apps Script của bạn.

Python

  1. Trong thư mục làm việc, hãy tạo một tệp có tên là update_subscription.py rồi thêm đoạn mã sau:

    """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)
    

    Thay thế nội dung sau:

    • SCOPES: Một hoặc nhiều phạm vi OAuth hỗ trợ từng loại sự kiện cho gói thuê bao. Được định dạng dưới dạng một mảng chuỗi. Để liệt kê nhiều phạm vi, hãy phân tách bằng dấu phẩy. Ví dụ: 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: Mã nhận dạng của gói thuê bao. Để lấy mã nhận dạng, bạn có thể sử dụng bất kỳ phương thức nào sau đây:
      • Giá trị của trường uid.
      • Mã nhận dạng của tên tài nguyên được biểu thị trong trường name. Ví dụ: nếu tên tài nguyên là subscriptions/subscription-123, hãy dùng subscription-123.
  2. Trong thư mục làm việc, hãy đảm bảo bạn đã lưu trữ thông tin đăng nhập mã ứng dụng OAuth và đặt tên cho tệp là credentials.json. Mã mẫu sử dụng tệp JSON này để xác thực với Google Workspace và lấy thông tin đăng nhập của người dùng. Để biết hướng dẫn, hãy xem phần Tạo thông tin đăng nhập mã ứng dụng khách OAuth.

  3. Để cập nhật gói thuê bao Google Workspace, hãy chạy lệnh sau trong thiết bị đầu cuối:

    python3 update_subscription.py
Google Workspace Events API trả về một thao tác diễn ra trong thời gian dài chứa phiên bản của tài nguyên Subscription.

Để biết thông tin chi tiết về tài nguyên Subscription đã cập nhật, hãy sử dụng phương thức operations.get() và chỉ định tài nguyên Operation được trả về từ yêu cầu subscriptions.update() của bạn. Nếu không, nếu bạn chỉ định một tài nguyên Operation từ phiên bản trước của gói thuê bao, thì phản hồi sẽ trống.

Cập nhật hoặc gia hạn gói thuê bao dưới dạng ứng dụng Google Chat

Bạn có thể cập nhật hoặc gia hạn gói thuê bao cho các sự kiện trên Chat dưới dạng một ứng dụng Chat thay vì dưới dạng người dùng. Quy trình này tương tự, ngoại trừ:

  1. Thay vì xác thực người dùng, hãy xác thực dưới dạng một ứng dụng Chat bằng quy trình phê duyệt một lần của quản trị viên.

  2. Chỉ định các phạm vi uỷ quyền cho phép ứng dụng Chat đăng ký nhận các sự kiện trên Chat. Các phạm vi uỷ quyền này luôn bắt đầu bằng chat.app và bao gồm những phạm vi sau:

    • https://www.googleapis.com/auth/chat.app.memberships: Đăng ký nhận thông báo về sự kiện của thành viên trong phòng Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Đăng ký nhận sự kiện tin nhắn trong không gian Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: Đăng ký nhận thông báo về các sự kiện trong không gian trên Chat.

Tạo một khoá API

Để gọi một phương thức API trong bản dùng thử cho nhà phát triển, bạn phải sử dụng một phiên bản không công khai của tài liệu khám phá API trong bản dùng thử cho nhà phát triển. Để xác thực yêu cầu, bạn phải truyền một khoá API.

Để tạo Khoá API, hãy mở dự án Google Cloud của ứng dụng rồi làm như sau:

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > API và Dịch vụ > Thông tin xác thực.

    Chuyển đến phần Thông tin đăng nhập

  2. Nhấp vào Tạo thông tin xác thực > Khoá API.
  3. Khoá API mới của bạn sẽ xuất hiện.
    • Nhấp vào biểu tượng Sao chép để sao chép khoá API nhằm sử dụng trong mã của ứng dụng. Bạn cũng có thể tìm thấy khoá API trong phần "Khoá API" của thông tin đăng nhập dự án.
    • Để ngăn chặn việc sử dụng trái phép, bạn nên hạn chế nơi và API mà khoá API có thể được dùng. Để biết thêm thông tin chi tiết, hãy xem phần Thêm các quy tắc hạn chế đối với API.

Viết một tập lệnh gọi Google Workspace Events API

Mẫu mã sau đây cập nhật gói thuê bao Google Workspace của một ứng dụng Chat:

Python

  """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)

Thay thế nội dung sau:

  • SCOPES: Chỉ định các phạm vi uỷ quyền cho phép ứng dụng Chat đăng ký nhận các sự kiện trên Chat. Các phạm vi uỷ quyền này luôn bắt đầu bằng chat.app và bao gồm những phạm vi sau:

    • https://www.googleapis.com/auth/chat.app.memberships: Đăng ký nhận thông báo về sự kiện của thành viên trong phòng Chat.
    • https://www.googleapis.com/auth/chat.app.messages.readonly: Đăng ký nhận sự kiện về tin nhắn và lượt thể hiện cảm xúc trong không gian Chat.
    • https://www.googleapis.com/auth/chat.app.spaces: Đăng ký nhận thông báo về các sự kiện trong không gian trên Chat.
  • API_KEY: Khoá API mà bạn đã tạo để xây dựng điểm cuối dịch vụ cho Google Workspace Events API.

  • SUBSCRIPTION_ID: Mã nhận dạng của gói thuê bao. Để lấy mã nhận dạng, bạn có thể dùng một trong những cách sau:

    • Giá trị của trường uid.
    • Mã nhận dạng của tên tài nguyên được biểu thị trong trường name. Ví dụ: nếu tên tài nguyên là subscriptions/subscription-123, hãy dùng subscription-123.