REST Resource: subscriptions

Tài nguyên: Gói thuê bao

Một gói thuê bao để nhận các sự kiện về tài nguyên Google Workspace. Để tìm hiểu thêm về các gói thuê bao, hãy xem bài viết Tổng quan về API Sự kiện của Google Workspace.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "uid": string,
  "targetResource": string,
  "eventTypes": [
    string
  ],
  "payloadOptions": {
    object (PayloadOptions)
  },
  "notificationEndpoint": {
    object (NotificationEndpoint)
  },
  "state": enum (State),
  "suspensionReason": enum (ErrorType),
  "authority": string,
  "createTime": string,
  "updateTime": string,
  "reconciling": boolean,
  "etag": string,

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
Trường
name

string

Giá trị nhận dạng. Tên tài nguyên của gói thuê bao.

Định dạng subscriptions/{subscription}

uid

string

Chỉ có đầu ra. Giá trị nhận dạng duy nhất do hệ thống chỉ định cho gói thuê bao.

targetResource

string

Bắt buộc. Không thể thay đổi. Tài nguyên Google Workspace giám sát các sự kiện, có định dạng là tên tài nguyên đầy đủ. Để tìm hiểu về tài nguyên mục tiêu và các sự kiện mà tài nguyên đó hỗ trợ, hãy xem bài viết Các sự kiện được hỗ trợ của Google Workspace.

Người dùng chỉ có thể cho phép ứng dụng của bạn tạo một gói thuê bao cho một tài nguyên mục tiêu nhất định. Nếu ứng dụng của bạn cố gắng tạo một gói thuê bao khác bằng cùng một thông tin đăng nhập của người dùng, thì yêu cầu sẽ trả về lỗi ALREADY_EXISTS.

eventTypes[]

string

Bắt buộc. Danh sách không theo thứ tự. Thông tin đầu vào để tạo gói thuê bao. Nếu không, chỉ có đầu ra. Một hoặc nhiều loại sự kiện để nhận về tài nguyên mục tiêu. Được định dạng theo thông số kỹ thuật CloudEvents.

Các loại sự kiện được hỗ trợ phụ thuộc vào tài nguyên mục tiêu của gói thuê bao. Để biết thông tin chi tiết, hãy xem phần Các sự kiện được hỗ trợ trên Google Workspace.

Theo mặc định, bạn cũng nhận được các sự kiện về vòng đời của gói thuê bao. Bạn không cần chỉ định sự kiện trong vòng đời cho trường này.

Nếu bạn chỉ định một loại sự kiện không tồn tại cho tài nguyên mục tiêu, thì yêu cầu sẽ trả về mã trạng thái HTTP 400 Bad Request.

payloadOptions

object (PayloadOptions)

Không bắt buộc. Các lựa chọn về dữ liệu cần đưa vào tải trọng sự kiện. Chỉ hỗ trợ cho các sự kiện trên Google Chat.

notificationEndpoint

object (NotificationEndpoint)

Bắt buộc. Bất biến. Điểm cuối mà gói thuê bao phân phối các sự kiện, chẳng hạn như một chủ đề Pub/Sub.

state

enum (State)

Chỉ có đầu ra. Trạng thái của gói thuê bao. Xác định xem gói thuê bao có thể nhận sự kiện và phân phối sự kiện đó đến điểm cuối thông báo hay không.

suspensionReason

enum (ErrorType)

Chỉ có đầu ra. Lỗi khiến gói thuê bao bị tạm ngưng.

Để kích hoạt lại gói thuê bao, hãy khắc phục lỗi và gọi phương thức subscriptions.reactivate.

authority

string

Chỉ có đầu ra. Người dùng đã cho phép tạo gói thuê bao.

Định dạng users/{user}

Đối với người dùng Google Workspace, giá trị {user} là trường user.id trong Directory API.

createTime

string (Timestamp format)

Chỉ có đầu ra. Thời gian tạo gói thuê bao.

updateTime

string (Timestamp format)

Chỉ có đầu ra. Lần gần đây nhất gói thuê bao được cập nhật.

reconciling

boolean

Chỉ có đầu ra. Nếu giá trị là true, tức là gói thuê bao đang trong quá trình cập nhật.

etag

string

Không bắt buộc. Checksum này do máy chủ tính toán dựa trên giá trị của các trường khác và có thể được gửi theo yêu cầu cập nhật để đảm bảo ứng dụng có giá trị mới nhất trước khi tiếp tục.

Trường hợp hợp nhất expiration. Thời điểm gói thuê bao hết hạn.

Thời gian hết hạn tối đa phụ thuộc vào việc gói thuê bao của bạn có bao gồm dữ liệu tài nguyên trong tải trọng sự kiện hay không (được chỉ định trong trường PayloadOptions):

  • Nếu tải trọng bỏ qua dữ liệu tài nguyên, thì tối đa 7 ngày.
  • Nếu tải trọng bao gồm dữ liệu tài nguyên, thì thời gian sẽ lên đến 4 giờ. Nếu tổ chức Google Workspace của bạn cấp quyền truy cập vào tài nguyên thông qua tính năng uỷ quyền trên toàn miền, thì bạn có thể gia hạn thời gian hết hạn của gói thuê bao lên đến 24 giờ.

Sau khi hết hạn, gói thuê bao sẽ tự động bị xoá. Bạn sẽ nhận được các sự kiện trong vòng đời vào notification_endpoint 12 giờ và 1 giờ trước khi gói thuê bao hết hạn. Để biết thông tin chi tiết, hãy xem phần Nhận và phản hồi các sự kiện trong vòng đời.

Để gói thuê bao không hết hạn, bạn có thể sử dụng phương thức UpdateSubscription để gia hạn ngày hết hạn. Để biết thông tin chi tiết, hãy xem bài viết Cập nhật hoặc gia hạn gói thuê bao. expiration chỉ có thể là một trong những giá trị sau:

expireTime

string (Timestamp format)

Giá trị mặc định không trống. Dấu thời gian theo giờ UTC khi gói thuê bao hết hạn. Luôn hiển thị trên đầu ra, bất kể nội dung nào được sử dụng trên đầu vào.

ttl

string (Duration format)

Chỉ nhập. Thời gian tồn tại (TTL) hoặc khoảng thời gian của gói thuê bao. Nếu không được chỉ định hoặc được đặt thành 0, hãy sử dụng thời lượng tối đa có thể.

PayloadOptions

Các tuỳ chọn về dữ liệu cần đưa vào tải trọng sự kiện. Chỉ hỗ trợ cho các sự kiện trên Google Chat.

Biểu diễn dưới dạng JSON
{
  "includeResource": boolean,
  "fieldMask": string
}
Trường
includeResource

boolean

Không bắt buộc. Trọng tải sự kiện có bao gồm dữ liệu về tài nguyên đã thay đổi hay không. Ví dụ: đối với một sự kiện tạo tin nhắn trên Google Chat, liệu tải trọng có chứa dữ liệu về tài nguyên Message hay không. Nếu giá trị là false, thì tải trọng sự kiện chỉ bao gồm tên của tài nguyên đã thay đổi.

fieldMask

string (FieldMask format)

Không bắt buộc. Nếu bạn đặt includeResource thành true, danh sách các trường cần đưa vào tải trọng sự kiện. Phân tách các trường bằng dấu phẩy. Ví dụ: để thêm người gửi và thời gian tạo tin nhắn trên Google Chat, hãy nhập message.sender,message.createTime. Nếu bạn bỏ qua, tải trọng sẽ bao gồm tất cả các trường cho tài nguyên.

Nếu bạn chỉ định một trường không tồn tại cho tài nguyên, hệ thống sẽ bỏ qua trường đó.

NotificationEndpoint

Điểm cuối nơi gói thuê bao phân phối sự kiện.

Biểu diễn dưới dạng JSON
{

  // Union field endpoint can be only one of the following:
  "pubsubTopic": string
  // End of list of possible types for union field endpoint.
}
Trường

Trường kết hợp endpoint.

endpoint chỉ có thể là một trong những giá trị sau:

pubsubTopic

string

Không thể thay đổi. Chủ đề Cloud Pub/Sub nhận sự kiện cho gói thuê bao.

Định dạng projects/{project}/topics/{topic}

Bạn phải tạo chủ đề trong chính dự án Google Cloud mà bạn tạo gói thuê bao này.

Khi chủ đề nhận được sự kiện, các sự kiện đó sẽ được mã hoá dưới dạng tin nhắn Cloud Pub/Sub. Để biết thông tin chi tiết, hãy xem phần Liên kết giao thức Google Cloud Pub/Sub cho CloudEvents.

Tiểu bang

Các trạng thái có thể có của gói thuê bao.

Enum
STATE_UNSPECIFIED Giá trị mặc định. Giá trị này chưa được sử dụng.
ACTIVE Gói thuê bao đang hoạt động và có thể nhận cũng như phân phối sự kiện đến điểm cuối thông báo của gói thuê bao đó.
SUSPENDED Lỗi xảy ra khiến gói thuê bao không thể nhận sự kiện. Để xác định lỗi, hãy xem trường suspensionReason.
DELETED Gói thuê bao đã bị xoá.

ErrorType

Các lỗi có thể xảy ra đối với gói thuê bao.

Enum
ERROR_TYPE_UNSPECIFIED Giá trị mặc định. Giá trị này không được sử dụng.
USER_SCOPE_REVOKED Người dùng uỷ quyền đã thu hồi việc cấp một hoặc nhiều phạm vi OAuth. Để tìm hiểu thêm về việc uỷ quyền cho Google Workspace, hãy xem bài viết Định cấu hình màn hình xin phép bằng OAuth.
RESOURCE_DELETED Tài nguyên mục tiêu của gói thuê bao không còn tồn tại.
USER_AUTHORIZATION_FAILURE Người dùng đã uỷ quyền tạo gói thuê bao không còn quyền truy cập vào tài nguyên mục tiêu của gói thuê bao đó nữa.
ENDPOINT_PERMISSION_DENIED Ứng dụng Google Workspace không có quyền truy cập để phân phối sự kiện đến điểm cuối thông báo của gói thuê bao.
ENDPOINT_NOT_FOUND Điểm cuối thông báo của gói thuê bao không tồn tại hoặc không tìm thấy điểm cuối trong dự án Google Cloud mà bạn đã tạo gói thuê bao.
ENDPOINT_RESOURCE_EXHAUSTED Điểm cuối thông báo của gói thuê bao không nhận được sự kiện do không đủ hạn mức hoặc đã đạt đến giới hạn tốc độ.
OTHER Đã xảy ra lỗi không xác định.

Phương thức

create

Tạo gói thuê bao Google Workspace.

delete

Xoá gói thuê bao Google Workspace.

get

Lấy thông tin chi tiết về gói thuê bao Google Workspace.

list

Liệt kê các gói thuê bao Google Workspace.

patch

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

reactivate

Kích hoạt lại gói thuê bao bị tạm ngưng của Google Workspace.