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 của Google Workspace để tạo một gói thuê bao của một tài nguyên trên Google Workspace. Một 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 của Google Workspace, thể hiện các thay đổi đối với một tài nguyê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 của Google Workspace hỗ trợ, hãy xem mục tổng quan về Google Workspace Events API.

Trang này trình bày các bước sau để tạo một tài khoản Google Workspace gói thuê bao:

  1. Thiết lập môi trường.
  2. Tạo và đăng ký một chủ đề trong Google Cloud Pub/Sub. Bạn sử dụng chủ đề này làm một điểm cuối để nhận các sự kiện của Google Workspace.
  3. Gọi create() của API Sự kiện của Google Workspace trên Subscription nguồn.
  4. Kiểm thử gói thuê bao Google Workspace của bạn để đảm bảo rằng Pub/Sub của bạn chủ đề nhận các sự kiện mà bạn đã đăng ký.
  5. Bạn có thể đị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ủa bạn có thể xử lý sự kiện và hành động (nếu cần).

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

Apps Script

  • Để 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. Đến khởi chạy CLI gcloud, chạy mã sau:
    3.   gcloud init
        
  • Một dự án trên Google Cloud khi bật tính năng thanh toán. Đối với gói thuê bao Chat, bạn phải đồng thời bật API Chat trong dự án Cloud của bạn và định cấu hình Tên ứng dụng, URL hình đại diệnMô tả mới. Để biết thông tin chi tiết, hãy xem Tạo ứng dụng Google Chat.
  • 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 phạm vi để hỗ trợ từng loại sự kiện cho gói thuê bao. Cách thiết lập chế độ đồng ý và xác định các phạm vi bắt buộc, hãy xem Chọn phạm vi.
  • Một dự án Apps Script:
    • Sử dụng dự án Google Cloud của bạn thay vì dự án mặc định được tạo tự động bằng Apps Script.
    • Đối với bất kỳ phạm vi nào 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 vào tệp appsscript.json trong dự án Apps Script của bạn. Ví dụ:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • 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
  • 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 chúng, 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
      
  • Để 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. Đến khởi chạy CLI gcloud, chạy mã sau:
    3.   gcloud init
        
  • Một dự án trên Google Cloud khi bật tính năng thanh toán. Đối với gói thuê bao Chat, bạn phải đồng thời bật API Chat trong dự án Cloud của bạn và định cấu hình Tên ứng dụng, URL hình đại diệnMô tả mới. Để biết thông tin chi tiết, hãy xem Tạo ứng dụng Google Chat.
  • 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 phạm vi để hỗ trợ từng loại sự kiện cho gói thuê bao. Cách thiết lập chế độ đồng ý và xác định các phạm vi bắt buộc, hãy xem 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 một gói thuê bao của Google Workspace.

Bật API Sự kiện của 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 các API này 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 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 của 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 của dự án trên đám mây cho ứng dụng của bạn.

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

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

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

Chọn loại ứng dụng của bạn để 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 Loại ứng dụng > Ứ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 mục 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 về trình duyệt. Phần này xác định các miền mà từ đó ứ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 mục URI chuyển hướng được phép, hãy nhấp vào Thêm URI. Sau đó, 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 OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.

    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 được 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 Loại ứng dụng > Android.
  4. Trong phần "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 phần "Package name" (Tên gói) , hãy nhập tên gói từ tệp AndroidManifest.xml.
  6. Trong "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 OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách mới của bạn.
  8. 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".

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 Loại ứng dụng > iOS.
  4. Trong phần "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 mục "Mã nhận dạng gói" hãy nhập mã nhận dạng gói như được liệt kê 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 phần "Mã nhóm" hãy nhập chuỗi gồm 10 ký tự duy nhấ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 OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.
  9. 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".

Ứ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 phần "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 "Application ID" (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ã nhận dạng 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 OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.
  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".

Ứ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 dành 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 OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.
  6. Nhấp vào OK. Thông tin đăng nhập mới được 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 bị 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 bị giới hạn.
  4. Trong phần "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 OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.
  6. 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".

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 (Loại ứng dụng) > Universal Windows Platform (UWP) (Nền tảng Windows phổ quát (UWP)).
  4. Trong phần "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 phần "Mã cửa hàng" hãy nhập giá trị Mã cửa hàng trên Microsoft gồm 12 ký tự dành riêng cho ứng dụng của bạn. Bạn có thể tìm thấy mã này trong URL của ứng dụng trên Microsoft Store và trong Trung tâm đối tác.
  6. Nhấp vào Tạo. Màn hình OAuth do ứng dụng tạo sẽ xuất hiện, cho biết Mã ứng dụng khách và Mật khẩu ứng dụng mới của bạn.
  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".

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

Tệp mật khẩu ứng dụng khách là một bản trình bày JSON của mã ứng dụng khách OAuth thông tin đăng nhập 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 đăng nhập.

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

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

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

  4. Lưu tệp với tên client_secrets.json.

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

Trong phần này, bạn sẽ tạo một chủ đề và gói thuê bao Pub/Sub vào chủ đề. Chủ đề Pub/Sub của bạn đóng vai trò là điểm cuối thông báo nơi gói thuê bao Google Workspace của bạn nhận đượ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 Pub/Sub tài liệu của Google.

Để tạo và đăng ký một chủ đề Pub/Sub, hãy làm như sau:

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

  1. Trong bảng điều khiển Google Cloud, hãy truy cập vào trang Pub/Sub:

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

    Hãy nhớ chọn Dự án trên đám mây cho ứng dụng của bạn.

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

    1. Nhập tên cho chủ đề của bạn, 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 văn bản này gói thuê bao mặc định giống với tên chủ đề của bạn, 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 tài sản bổ sung cho chủ đề của bạn.
  3. Nhấp vào Tạo. Tên chủ đề đầy đủ của bạn được định dạng là projects/PROJECT_ID/topics/TOPIC_ID. Bạn sẽ sử dụng họ và tên này ở bước sau.

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

    1. Trên trang của chủ đề, hãy chuyển đến bảng điều khiển bên rồi mở Thẻ Quyền.
    2. Nhấp vào Thêm hiệu trưởng.
    3. Trong trường Thêm người dùng chính, hãy thêm tài khoản dịch vụ cho Ứng dụng Google Workspace phân phối sự kiện đến gói thuê bao:
      1. Đối với sự kiện Chat, chat-api-push@system.gserviceaccount.com.
      2. Đối với 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 các 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ư dưới tên workspace-events-topic.

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

  2. Cấp quyền truy cập để đăng thông báo cho 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ế đoạn mã sau:

    • TOPIC_NAME: Tên chủ đề đầy đủ là kết quả của bước trước. Được định dạng thành projects/PROJECT_ID/topics/TOPIC_ID.
    • GOOGLE_WORKSPACE_APPLICATION: Ứng dụng Google Workspace phải gửi sự kiện đến 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ế đ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.

Đăng ký tài nguyên trên Google Workspace

Trong phần này, bạn đăng ký tài nguyên Google Workspace mà bạn muốn theo dõi để biết các sự kiện.

Chọn và xác định tài nguyên mục tiêu

Trong gói thuê bao của Google Workspace, tài nguyên mục tiêu là Tài nguyên trên Google Workspace mà bạn theo dõi để phát hiện các sự kiện. Mục tiêu tài nguyên được biểu thị trong trường targetResource của gói thuê bao, được định dạng bằng tên đầy đủ của tài nguyên. Ví dụ: đối với một gói thuê bao giám sát Phòng Google Chat (spaces/AAAABBBBBBB), giá trị của targetResource//chat.googleapis.com/spaces/AAAABBBBBBB.

Trước khi tạo gói thuê bao, hãy xem các phần sau để tìm hiểu cách xác định và định dạng tài nguyên mục tiêu.

Xác định tài nguyên mục tiêu cho Chat

Tài nguyên mục tiêu Định dạng Giới hạn
Không gian

//chat.googleapis.com/spaces/SPACE

với SPACE là mã nhận dạng trong tên tài nguyên của tài nguyên space API Chat. Bạn có thể lấy mã nhận dạng từ URL của không gian hoặc sử dụng Phương thức spaces.list().

Người dùng Chat cho phép gói thuê bao phải trở thành thành viên của không gian thông qua Google Workspace hoặc Google Tài khoản.
Tất cả không gian dành cho người dùng

//chat.googleapis.com/spaces/-

Gói thuê bao này chỉ nhận sự kiện trong những không gian có người dùng thành viên thông qua Google Workspace hoặc Tài khoản Google của họ.
Người dùng

//cloudidentity.googleapis.com/users/USER

với USER là mã nhận dạng trong tên tài nguyên của tài nguyên user API Chat. Để biết thông tin chi tiết, hãy xem Xác định và chỉ rõ Người dùng Google Chat.

Gói thuê bao này chỉ nhận các sự kiện về người dùng đã uỷ quyền gói thuê bao. Người dùng không thể uỷ quyền gói thuê bao trên cho những người dùng khác.

Xác định tài nguyên mục tiêu cho Meet

Tài nguyên mục tiêu Định dạng Các giới hạn (nếu có)
Không gian tổ chức hội nghị //meet.googleapis.com/spaces/SPACE

với SPACE là mã nhận dạng trong tên tài nguyên của tài nguyên space cho API REST của Meet. Để biết thông tin chi tiết, hãy xem Cách thức Meet xác định không gian cuộc họp.

Người dùng //cloudidentity.googleapis.com/users/USER

với USER là mã nhận dạng trong Trường signedinUser.user của tài nguyên participant API REST của Meet. Để biết thông tin chi tiết, hãy xem Làm việc với người tham gia.

Gói thuê bao này nhận được các sự kiện về không gian họp có nơi người dùng là một trong những người dùng sau:

  • Chủ sở hữu không gian họp.
  • Người tổ chức về sự kiện trên Lịch Google liên kết với không gian họp.

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

Để tạo một gói thuê bao, hãy dùng API Sự kiện của Google Workspace subscriptions.create() để tạo Subscription nguồn. Bạn chỉ định các trường sau:

  • targetResource: Một Google Workspace mà bạn đã xác định trong phần trước, được định dạng bằng cách sử dụng tên tài nguyên đầy đủ.
  • 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 được 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 đã đăng lên phòng Chat, ứng dụng của bạn chỉ cần đăng ký các sự kiện về các thông báo đã tạo.
  • notificationEndpoint: Điểm cuối thông báo trong đó Gói thuê bao của Google Workspace 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 dùng để 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 của bạn. Để tìm hiểu thêm, hãy xem Sự kiện .

Cách tạo một 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ế đoạn mã sau:

    • TARGET_RESOURCE: Tài nguyên của 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 phòng Google Chat bằng mã nhận dạng không gian AAAABBBB, 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 mục tiêu. Định dạng thành một mảng chuỗi 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 Cloud của mình. Được định dạng thành projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: Giá trị boolean chỉ định liệu giá trị gói thuê bao bao gồm dữ liệu tài nguyên trong tải trọng:

      • True: Bao gồm tất cả dữ liệu tài nguyên. Để giới hạn những trường nào đã bao gồm, hãy thêm fieldMask và chỉ định ít nhất một trường cho tài nguyên đã thay đổi. Chỉ gói đăng ký nhận dịch vụ hỗ trợ tài nguyên của Chat, bao gồm 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 này 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 và 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ế đ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 của 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 phòng Google Chat bằng mã nhận dạng không gian AAAABBBB, 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 mục tiêu. Định dạng thành một mảng chuỗi 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 Cloud của mình. Được định dạng thành projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: Giá trị boolean chỉ định liệu giá trị gói thuê bao bao gồm dữ liệu tài nguyên trong tải trọng:

      • True: Bao gồm tất cả dữ liệu tài nguyên. Để giới hạn những trường nào đã bao gồm, hãy thêm fieldMask và chỉ định ít nhất một trường cho tài nguyên đã thay đổi. Chỉ gói đăng ký nhận dịch vụ hỗ trợ tài nguyên của Chat, bao gồm 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 của Google Workspace trả về một hoạt động chạy trong thời gian dài đã hoàn tất phép toán chứa thông số thực thể của tài nguyên Subscription mà bạn đã tạo.

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

Để kiểm tra xem bạn có 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 thử nghiệm gói thuê bao của 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 của Google Workspace. Ví dụ: nếu bạn đã đăng ký kênh mới tin nhắn trong phòng Chat, hãy đăng tin nhắn lên phòng Chat.

  2. Trong bảng điều khiển Google Cloud, hãy truy cập vào trang Pub/Sub:

    Truy cập Pub/Sub

    Hãy nhớ chọn Dự án trên đám mây 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 đến 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 của Google Workspace. Ví dụ: nếu bạn đã đăng ký kênh mới tin nhắn trong phòng Chat, hãy đăng tin nhắn trong phòng Chat.

  2. Chạy lệnh sau:

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

    Thay thế đoạn mã sau:

    • PUBSUB_SUBSCRIPTION_NAME: Tên đầy đủ của Gói thuê bao Pub/Sub, 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 vài phút để một sự kiện tạo một 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 phân phối đến gói thuê bao Pub/Sub có chứa sự kiện. Để biết thông tin chi tiết, hãy xem Nhận sự kiện dưới dạng tin nhắn trên Google Cloud Pub/Sub.

Thiết lập cách ứng dụng của bạn nhận sự kiện

Gói thuê bao Pub/Sub mà bạn đã tạo là gói thuê bao dựa trên phương thức kéo. Sau khi bạn đã thử nghiệm rằng gói thuê bao Pub/Sub của bạn, bạn có thể cập nhật loại hình gửi để thay đổi cách ứng dụng của bạn nhận được sự kiện. Ví dụ: bạn có thể định cấu hình tệp Pub/Sub đăng ký loại phân phối đẩy để ứng dụng của bạn 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 cách định cấu hình gói thuê bao Pub/Sub, hãy xem bài viết Pub/Sub .