Tạo gói thuê bao của Google Workspace

Trang này giải thích cách sử dụng API Sự kiện Google Workspace để tạo gói thuê bao cho một tài nguyên trên Google Workspace. Gói thuê bao của Google Workspace cho phép ứng dụng của bạn nhận thông tin về các sự kiện trên Google Workspace. Những sự kiện này thể hiện những thay đổi đối với tài nguyên trên Google Workspace. Để tìm hiểu về những tài nguyên và loại sự kiện mà API Sự kiện Google Workspace hỗ trợ, hãy xem bài viết Tổng quan về API Sự kiện của Google Workspace.

Trang này bao gồm các bước sau để tạo gói thuê bao Google Workspace:

  1. Thiết lập môi trường.
  2. Tạo và đăng ký một chủ đề trên Google Cloud Pub/Sub. Bạn sử dụng chủ đề này làm điểm cuối để nhận các sự kiện của Google Workspace.
  3. Gọi phương thức create() của API Sự kiện Google Workspace trên tài nguyên Subscription.
  4. Hãy kiểm thử gói thuê bao Google Workspace của bạn để đảm bảo rằng chủ đề Pub/Sub nhận được các sự kiện mà bạn đã đăng ký.
  5. Định cấu hình cách đẩy sự kiện đến một điểm cuối cho ứng dụng (không bắt buộc) để ứng dụng có thể xử lý sự kiện và thực hiện hành động (nếu cần).

Điều kiện tiên quyết

Apps Script

  • Cách sử dụng các lệnh Google Cloud CLI trong hướng dẫn này:
    1. Cài đặt Google Cloud CLI.
    2. Để khởi động CLI gcloud, hãy chạy mã sau:
    3.   gcloud init
        
  • Tài nguyên mục tiêu cho gói thuê bao:
    • Để đăng ký một phòng Google Chat, phòng Chat mà người dùng đã xác thực là thành viên. Người dùng phải là thành viên của không gian thông qua Google Workspace hoặc Tài khoản Google của họ (không hỗ trợ những người dùng là thành viên của không gian thông qua một Nhóm Google).
    • Để đăng ký không gian hội họp trên Google Meet, không gian họp mà người dùng đã xác thực là chủ sở hữu là chủ sở hữu. Để tạo không gian, trong tài liệu về Google Meet, hãy xem phần Làm việc với không gian hội họp.
    • Để đăng ký một người dùng Google Meet, mã nhận dạng user của API Cloud Identity
  • Một dự án Google Cloud đã bật tính năng thanh toán. Đối với gói thuê bao Chat, bạn cũng phải bật API Chat trong dự án Google Cloud và định cấu hình các trường Tên ứng dụng, URL hình đại diệnMô tả. Để biết thông tin chi tiết, hãy xem bài viết Tạo ứng dụng Google Chat.
  • Tính năng này yêu cầu xác thực người dùng bằng màn hình xin phép bằng OAuth được định cấu hình cho ứng dụng. Khi định cấu hình màn hình xin phép, bạn phải chỉ định một phạm vi hỗ trợ từng loại sự kiện cho gói thuê bao. Để định cấu hình màn hình xin phép và xác định các phạm vi cần thiết, hãy xem phần Chọn phạm vi.
  • Một dự án Apps Script:
    • Sử dụng dự án của bạn trên Google Cloud thay vì dự án mặc định do Apps Script tạo tự động.
    • Đối với mọi phạm vi mà bạn đã thêm để định cấu hình màn hình xin phép bằ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ụ:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Bật dịch vụ nâng cao của Google Workspace Events.

Python

  • Python 3.6 trở lên
  • Công cụ quản lý gói pip
  • Các thư viện ứng dụng mới nhất của Google dành 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 của bạn:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • Cách sử dụng các lệnh Google Cloud CLI trong hướng dẫn này:
    1. Cài đặt Google Cloud CLI.
    2. Để khởi động CLI gcloud, hãy chạy mã sau:
    3.   gcloud init
        
  • Tài nguyên mục tiêu cho gói thuê bao:
    • Để đăng ký một phòng Google Chat, phòng Chat mà người dùng đã xác thực là thành viên. Người dùng phải là thành viên của không gian thông qua Google Workspace hoặc Tài khoản Google của họ (không hỗ trợ những người dùng là thành viên của không gian thông qua một Nhóm Google).
    • Để đăng ký không gian hội họp trên Google Meet, không gian họp mà người dùng đã xác thực là chủ sở hữu là chủ sở hữu. Để tạo không gian, trong tài liệu về Google Meet, hãy xem phần Làm việc với không gian hội họp.
    • Để đăng ký một người dùng Google Meet, mã nhận dạng user của API Cloud Identity
  • Một dự án Google Cloud đã bật tính năng thanh toán. Đối với gói thuê bao Chat, bạn cũng phải bật API Chat trong dự án Google Cloud và định cấu hình các trường Tên ứng dụng, URL hình đại diệnMô tả. Để biết thông tin chi tiết, hãy xem bài viết Tạo ứng dụng Google Chat.
  • Tính năng này yêu cầu xác thực người dùng bằng màn hình xin phép bằng OAuth được định cấu hình cho ứng dụng. Khi định cấu hình màn hình xin phép, bạn phải chỉ định một phạm vi hỗ trợ từng loại sự kiện cho gói thuê bao. Để định cấu hình màn hình xin phép và xác định các phạm vi cần thiết, hãy xem phần Chọn phạm vi.

Thiết lập môi trường

Phần sau đây giải thích cách thiết lập môi trường trước khi tạo gói thuê bao Google Workspace.

Bật API Sự kiện trên Google Workspace và API Google Cloud Pub/Sub

Trước khi sử dụng các API của Google, bạn cần bật những API đó trong một dự án trên Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án trên Google Cloud.

Bảng điều khiển Google Cloud

Trong bảng điều khiển Google Cloud, hãy mở dự án Google Cloud cho ứng dụng của bạn rồi bật API Sự kiện Google Workspace và API Pub/Sub:

Bật API

gcloud

  1. Trong thư mục đang làm việc, hãy đăng nhập vào Tài khoản Google của bạn:

    gcloud auth login
    
  2. Đặt dự án thành dự án trên đám mây cho ứng dụng của bạn:

    gcloud config set project PROJECT_ID
    

    Thay thế PROJECT_ID bằng mã dự án cho dự án Cloud cho ứng dụng của bạn.

  3. Bật API Sự kiện của Google Workspace và API Google Cloud Pub/Sub:

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
    

Tạo thông tin xác thực mã ứng dụng OAuth

Chọn loại ứng dụng để xem hướng dẫn cụ thể về cách tạo mã ứng dụng OAuth:

Ứng dụng web

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Application type (Loại ứng dụng) > Web application (Ứng dụng web).
  4. Trong trường Tên, nhập tên cho thông tin đăng nhập. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Thêm URI được uỷ quyền liên quan đến ứng dụng của bạn:
    • Ứng dụng phía máy khách (JavaScript) – Trong phần Nguồn gốc JavaScript được cho phép, hãy nhấp vào Thêm URI. Sau đó, nhập URI để sử dụng cho các yêu cầu của trình duyệt. Mã này xác định các miền mà ứng dụng của bạn có thể gửi yêu cầu API đến máy chủ OAuth 2.0.
    • Ứng dụng phía máy chủ (Java, Python, v.v.) – Trong phần URI chuyển hướng được uỷ quyền, hãy nhấp vào Thêm URI. Sau đó, hãy nhập URI điểm cuối mà máy chủ OAuth 2.0 có thể gửi phản hồi.
  6. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng khách mới.

    Ghi lại Mã ứng dụng khách. Mật khẩu ứng dụng khách không được dùng cho các ứng dụng web.

  7. Nhấp vào OK. Thông tin đăng nhập mới tạo sẽ xuất hiện trong phần Mã ứng dụng OAuth 2.0.

Android

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Application type (Loại ứng dụng) > Android.
  4. Trong trường "Tên", nhập tên cho thông tin xác thực. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Trong trường "Package name" (Tên gói), hãy nhập tên gói trong tệp AndroidManifest.xml của bạn.
  6. Trong trường "Dấu vân tay chứng chỉ SHA-1", hãy nhập vân tay số cho chứng chỉ SHA-1 đã tạo.
  7. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng mới của bạn.
  8. Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".

iOS

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Application type (Loại ứng dụng) > iOS.
  4. Trong trường "Tên", nhập tên cho thông tin xác thực. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Trong trường "Bundle ID", hãy nhập giá trị nhận dạng gói như trong tệp Info.plist của ứng dụng.
  6. Không bắt buộc: Nếu ứng dụng của bạn xuất hiện trong Apple App Store, hãy nhập mã App Store.
  7. Không bắt buộc: Trong trường "Mã nhóm", hãy nhập chuỗi duy nhất gồm 10 ký tự do Apple tạo và được chỉ định cho nhóm của bạn.
  8. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng khách mới.
  9. Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".

Ứng dụng Chrome

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Loại ứng dụng > Ứng dụng Chrome.
  4. Trong trường "Tên", nhập tên cho thông tin xác thực. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Trong trường "Mã ứng dụng", hãy nhập chuỗi mã nhận dạng duy nhất gồm 32 ký tự của ứng dụng. Bạn có thể tìm thấy giá trị mã này trong URL Cửa hàng Chrome trực tuyến của ứng dụng và trong Trang tổng quan dành cho nhà phát triển Cửa hàng Chrome trực tuyến.
  6. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng khách mới.
  7. Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".

Ứng dụng dành cho máy tính

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Loại ứng dụng > Ứng dụng cho máy tính.
  4. Trong trường Tên, nhập tên cho thông tin đăng nhập. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng khách mới.
  6. Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần Mã ứng dụng OAuth 2.0.

TV và thiết bị đầu vào giới hạn

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Loại ứng dụng > TV và Thiết bị đầu vào giới hạn.
  4. Trong trường "Tên", nhập tên cho thông tin xác thực. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng khách mới.
  6. Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".

Universal Windows Platform (UWP)

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

    Chuyển đến phần Thông tin xác thực

  2. Nhấp vào Tạo thông tin xác thực > Mã ứng dụng khách OAuth.
  3. Nhấp vào Application type > Universal Windows Platform (UWP) (Loại ứng dụng > Loại ứng dụng > Universal Windows Platform (UWP)).
  4. Trong trường "Tên", nhập tên cho thông tin xác thực. Tên này chỉ hiển thị trong bảng điều khiển Google Cloud.
  5. Trong trường "Mã cửa hàng", hãy nhập giá trị mã cửa hàng trên Microsoft gồm 12 ký tự duy nhất cho ứng dụng của bạn. Bạn có thể tìm thấy mã này trong URL Microsoft Store của ứng dụng và trong Trung tâm đối tác.
  6. Nhấp vào Tạo. Màn hình ứng dụng OAuth đã tạo sẽ xuất hiện, cho thấy Mã ứng dụng khách và Mật khẩu ứng dụng khách mới.
  7. Nhấp vào OK. Thông tin xác thực mới tạo sẽ xuất hiện trong phần "Mã ứng dụng OAuth 2.0".

Tải tệp JSON mật khẩu ứng dụng khách xuống

Tệp mật khẩu ứng dụng khách là nội dung biểu diễn JSON của thông tin đăng nhập mã ứng dụng khách OAuth mà ứng dụng của bạn có thể tham chiếu khi cung cấp thông tin đăng nhập.

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

    Chuyển đến phần Thông tin xác thực

  2. Trong Mã ứng dụng khách OAuth 2.0, hãy nhấp vào mã ứng dụng khách mà bạn đã tạo.

  3. Nhấp vào Tải JSON xuống.

  4. Lưu tệp dưới dạng client_secrets.json.

Tạo và đăng ký theo dõi một chủ đề về Pub/Sub

Trong phần này, bạn sẽ tạo một chủ đề Pub/Sub và gói thuê bao cho chủ đề đó. Chủ đề Pub/Sub đóng vai trò là điểm cuối thông báo mà gói thuê bao Google Workspace của bạn sẽ nhận được các sự kiện.

Để tìm hiểu thêm về cách tạo và quản lý các chủ đề Pub/Sub, hãy xem tài liệu về Pub/Sub.

Để tạo và đăng ký theo dõi một chủ đề Pub/Sub:

Bảng điều khiển Google Cloud

  1. Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Pub/Sub:

    Truy cập vào Google Cloud Pub/Sub

    Hãy nhớ chọn dự án Cloud cho ứng dụng của bạn.

  2. Nhấp vào Tạo chủ đề rồi làm như sau:

    1. Nhập tên cho chủ đề, chẳng hạn như workspace-events-topic.
    2. Chọn Thêm gói thuê bao mặc định. Pub/Sub đặt tên cho gói thuê bao mặc định này giống như tên của chủ đề, chẳng hạn như workspace-events-topic-sub.
    3. Không bắt buộc: Cập nhật hoặc định cấu hình các thuộc tính bổ sung cho chủ đề.
  3. Nhấp vào Tạo. Tên đầy đủ của chủ đề được định dạng là projects/PROJECT_ID/topics/TOPIC_ID. Bạn sẽ sử dụng tên đầy đủ này trong bước sau.

  4. Cấp quyền truy cập để đăng thông báo Pub/Sub về chủ đề của bạn:

    1. Trên trang chủ đề của bạn, hãy chuyển đến bảng điều khiển bên rồi mở thẻ Quyền.
    2. Nhấp vào Add Principal (Thêm hiệu trưởng).
    3. Trong trường Add principals (Thêm tài khoản chính), hãy thêm tài khoản dịch vụ cho ứng dụng Google Workspace cung cấp sự kiện vào gói thuê bao của bạn:
      1. Đối với các sự kiện Chat, chat-api-push@system.gserviceaccount.com.
      2. Đối với các sự kiện trên Meet, meet-api-event-push@system.gserviceaccount.com.
    4. Trong trình đơn Chỉ định vai trò, hãy chọn Pub/Sub Publisher.
    5. Nhấp vào Lưu. Có thể mất vài phút để cập nhật quyền cho chủ đề của bạn.

gcloud

  1. Trong dự án Cloud của bạn, hãy tạo một chủ đề bằng cách chạy lệnh sau:

    gcloud pubsub topics create TOPIC_ID
    

    Thay thế TOPIC_ID bằng một mã nhận dạng duy nhất cho chủ đề của bạn, chẳng hạn như workspace-events-topic.

    Kết quả sẽ cho thấy tên đầy đủ của chủ đề, có định dạng là projects/PROJECT_ID/topics/TOPIC_ID. Hãy ghi lại tên và đảm bảo giá trị của PROJECT_ID là mã dự án trên đám mây cho ứng dụng của bạn. Bạn sẽ sử dụng tên chủ đề trong bước sau và tạo gói thuê bao Google Workspace sau này.

  2. Cấp quyền đăng thông báo về chủ đề của bạn:

    gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
    

    Thay thế các đoạn mã sau:

    • TOPIC_NAME: Tên đầy đủ của chủ đề, là kết quả từ bước trước. Được định dạng là projects/PROJECT_ID/topics/TOPIC_ID.
    • GOOGLE_WORKSPACE_APPLICATION: Ứng dụng Google Workspace phải phân phối các sự kiện cho gói thuê bao của bạn:

      • Để nhận sự kiện từ Chat, hãy sử dụng chat-api-push@system.gserviceaccount.com.
      • Để nhận sự kiện từ Meet, hãy sử dụng meet-api-event-push@system.gserviceaccount.com.

    Có thể mất vài phút để cập nhật quyền cho chủ đề của bạn.

  3. Tạo gói thuê bao Pub/Sub cho chủ đề:

     gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
    

    Thay thế các đoạn mã sau:

    • SUBSCRIPTION_NAME: Tên cho gói thuê bao của bạn, chẳng hạn như workspace-events-subscription.
    • TOPIC_NAME: Tên chủ đề mà bạn đã tạo ở bước trước.

Tạo gói thuê bao của Google Workspace

Trong phần này, bạn sẽ sử dụng phương thức subscriptions.create() của API Sự kiện Google Workspace để tạo tài nguyên Subscription. Bạn chỉ định các trường sau:

  • targetResource: Một tài nguyên Google Workspace để theo dõi các sự kiện, chẳng hạn như phòng Chat.
  • eventTypes: Một mảng gồm một hoặc nhiều loại sự kiện mà bạn muốn nhận liên quan đến tài nguyên. Ví dụ: nếu ứng dụng của bạn chỉ cần biết về tin nhắn mới được đăng lên phòng Chat, thì ứng dụng chỉ có thể đăng ký sự kiện về tin nhắn đã tạo.
  • notificationEndpoint: Một điểm cuối thông báo mà gói thuê bao Google Workspace của bạn phân phối sự kiện. Bạn sử dụng chủ đề Pub/Sub mà bạn đã tạo trong phần trước.
  • payloadOptions: Các tuỳ chọn để chỉ định lượng dữ liệu tài nguyên cần đưa vào tải trọng sự kiện. Cấu hình này ảnh hưởng đến thời gian hết hạn của gói thuê bao. Để tìm hiểu thêm, hãy xem bài viết Dữ liệu sự kiện.

Cách tạo gói thuê bao của Google Workspace:

Apps Script

  1. Trong dự án Apps Script, hãy tạo một tệp tập lệnh mới có tên là createSubscription rồi thêm mã sau:

    function createSubscription() {
      // The Google Workspace resource to monitor for events.
      const targetResource = 'TARGET_RESOURCE';
    
      // The types of events to receive.
      const eventTypes = [EVENT_TYPES];
    
      // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
      const pubsubTopic = 'TOPIC_NAME';
    
      // Whether to include resource data or not.
      const resourceData = RESOURCE_DATA;
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.create({
        targetResource: targetResource,
        eventTypes: eventTypes,
        notificationEndpoint: {
          pubsubTopic: pubsubTopic,
        },
        payloadOptions: {
          includeResource: resourceData
        }
      });
      console.log(response);
    }
    

    Thay thế các đoạn mã sau:

    • TARGET_RESOURCE: Tài nguyên Google Workspace mà bạn đang đăng ký, có định dạng là tên tài nguyên đầy đủ. Ví dụ: để đăng ký một không gian Google Chat có mã không gian là AAAABBBB, hãy sử dụng //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: Một hoặc nhiều loại sự kiện mà bạn muốn đăng ký trong tài nguyên đích. Định dạng dưới dạng một mảng chuỗi, chẳng hạn như 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: Tên đầy đủ của chủ đề Pub/Sub mà bạn đã tạo trong dự án trên Google Cloud. Được định dạng là projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: Một giá trị boolean chỉ định việc gói thuê bao có bao gồm dữ liệu tài nguyên trong tải trọng hay không:

      • True: Bao gồm mọi dữ liệu tài nguyên. Để giới hạn các trường được đưa vào, hãy thêm trường fieldMask và chỉ định ít nhất một trường cho tài nguyên đã thay đổi. Chỉ các gói thuê bao tài nguyên của Chat mới hỗ trợ, bao gồm cả dữ liệu tài nguyên.
      • False: Không bao gồm dữ liệu tài nguyên.
  2. Để tạo gói thuê bao của Google Workspace, hãy chạy hàm createSubscription trong dự án Apps Script.

Python

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

    """Create 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()
    
    # The Google Workspace resource to monitor for events.
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    # The types of events to receive.
    EVENT_TYPES = [EVENT_TYPES]
    
    # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
    TOPIC = 'TOPIC_NAME'
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    BODY = {
        'target_resource': TARGET_RESOURCE,
        'event_types': EVENT_TYPES,
        'notification_endpoint': {'pubsub_topic': TOPIC},
        'payload_options': {'include_resource': RESOURCE_DATA},
    }
    response = service.subscriptions().create(body=BODY).execute()
    print(response)
    

    Thay thế các đoạn mã 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'.
    • TARGET_RESOURCE: Tài nguyên Google Workspace mà bạn đang đăng ký, có định dạng là tên tài nguyên đầy đủ. Ví dụ: để đăng ký một không gian Google Chat có mã không gian là AAAABBBB, hãy sử dụng //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: Một hoặc nhiều loại sự kiện mà bạn muốn đăng ký trong tài nguyên đích. Định dạng dưới dạng một mảng chuỗi, chẳng hạn như 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: Tên đầy đủ của chủ đề Pub/Sub mà bạn đã tạo trong dự án trên Google Cloud. Được định dạng là projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: Một giá trị boolean chỉ định việc gói thuê bao có bao gồm dữ liệu tài nguyên trong tải trọng hay không:

      • True: Bao gồm mọi dữ liệu tài nguyên. Để giới hạn các trường được đưa vào, hãy thêm trường fieldMask và chỉ định ít nhất một trường cho tài nguyên đã thay đổi. Chỉ các gói thuê bao tài nguyên của Chat mới hỗ trợ, bao gồm cả dữ liệu tài nguyên.
      • False: Không bao gồm dữ liệu tài nguyên.
  2. Để tạo gói thuê bao của Google Workspace, hãy chạy lệnh sau trong thiết bị đầu cuối của bạn:

    python3 create_subscription.py
    

API Sự kiện Google Workspace sẽ trả về một hoạt động diễn ra trong thời gian dài đã hoàn tất có chứa bản sao của tài nguyên Subscription mà bạn đã tạo.

Kiểm thử gói thuê bao Google Workspace

Để kiểm tra xem bạn có đang nhận được các sự kiện trên Google Workspace hay không, bạn có thể kích hoạt một sự kiện và kéo tin nhắn đến gói thuê bao Pub/Sub.

Cách kiểm thử gói thuê bao Google Workspace:

Bảng điều khiển Google Cloud

  1. Kích hoạt một hoặc nhiều loại sự kiện trong tài nguyên mục tiêu của gói thuê bao Google Workspace. Ví dụ: nếu bạn đã đăng ký nhận tin nhắn mới trong phòng Chat, hãy đăng tin nhắn lên phòng đó.

  2. Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Pub/Sub:

    Chuyển đến Pub/Sub

    Hãy nhớ chọn dự án Cloud cho ứng dụng của bạn.

  3. Trong trình đơn Pub/Sub, hãy nhấp vào Gói thuê bao.

  4. Trong bảng này, hãy tìm gói thuê bao Pub/Sub cho chủ đề của bạn rồi nhấp vào tên gói thuê bao.

  5. Nhấp vào thẻ Thông báo.

  6. Nhấp vào Kéo. Có thể mất tới vài phút để một sự kiện tạo thông báo Pub/Sub.

gcloud

  1. Kích hoạt một hoặc nhiều loại sự kiện trong tài nguyên mục tiêu của gói thuê bao Google Workspace. Ví dụ: nếu bạn đã đăng ký nhận tin nhắn mới trong phòng Chat, hãy đăng tin nhắn trong phòng đó.

  2. Chạy lệnh sau:

    gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
    

    Thay thế các đoạn mã sau:

    • PUBSUB_SUBSCRIPTION_NAME: Tên đầy đủ của gói thuê bao Pub/Sub của bạn, có định dạng là projects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID.
    • MESSAGE_COUNT: Số lượng tin nhắn Pub/Sub tối đa mà bạn muốn lấy.

    Có thể mất tới vài phút để một sự kiện tạo thông báo Pub/Sub.

Đối với mỗi sự kiện trên Google Workspace mà bạn đã kích hoạt, một thông báo sẽ được gửi đến gói thuê bao Pub/Sub chứa sự kiện đó. Để biết thông tin chi tiết, hãy xem bài viết Nhận sự kiện dưới dạng tin nhắn Google Cloud Pub/Sub.

Định cấu hình cách ứng dụng nhận sự kiện

Gói thuê bao Pub/Sub mà bạn đã tạo sẽ dựa trên phương thức kéo. Sau khi đã kiểm thử gói thuê bao Pub/Sub, bạn có thể cập nhật loại phân phối để thay đổi cách ứng dụng nhận sự kiện. Ví dụ: bạn có thể định cấu hình gói thuê bao Pub/Sub thành loại phân phối dạng đẩy để ứng dụng có thể nhận các sự kiện trực tiếp đến điểm cuối của ứng dụng.

Để tìm hiểu về cách định cấu hình gói thuê bao Pub/Sub, hãy xem tài liệu về Pub/Sub.