REST Resource: forms.watches

资源:Watch

监视表单事件。当指定事件发生时,系统会向指定目标发布通知。通知的属性将包括一个 formId 键(具有所监控表单的 ID)和一个 eventType 键(具有该类型字符串)。

邮件至少传送一次,只有在特殊情况下才会丢弃。通常情况下,所有通知都应在几秒钟内可靠地传送;但在某些情况下,通知可能会延迟。

除非通过 watches.renew 续订,否则手表将在创建 7 天后过期

JSON 表示法
{
  "id": string,
  "target": {
    object (WatchTarget)
  },
  "eventType": enum (EventType),
  "createTime": string,
  "expireTime": string,
  "errorType": enum (ErrorType),
  "state": enum (State)
}
字段
id

string

仅限输出。此手表的 ID。查看有关CreateWatchRequest.watch_id的备注。

target

object (WatchTarget)

必需。将通知发送到何处。

eventType

enum (EventType)

必需。要监控的事件类型。

createTime

string (Timestamp format)

仅限输出。创建时间的时间戳。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

expireTime

string (Timestamp format)

仅限输出。此有效期的时间戳。每次 watches.renew 调用都会将其重置为未来 7 天。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

errorType

enum (ErrorType)

仅限输出。尝试投放的最近发生的错误类型。如需再次开始查看表单,可调用 watches.renew,同样会清除此错误信息。

state

enum (State)

仅限输出。手表的当前状态。如需详细了解手表已被暂停,请查看 errorType

WatchTarget

通知传送的目标。

JSON 表示法
{

  // Union field target can be only one of the following:
  "topic": {
    object (CloudPubsubTopic)
  }
  // End of list of possible types for union field target.
}
字段
联合字段 target。必需。通知传送的目标。target 只能是下列其中一项:
topic

object (CloudPubsubTopic)

Pub/Sub 主题。要接收通知,主题必须向表单服务账号 serviceAccount:forms-notifications@system.gserviceaccount.com 授予发布权限。只有拥有主题的项目才能使用该主题创建手表。

应考虑 Pub/Sub 传送保证。

CloudPubsubTopic

Pub/Sub 主题。

JSON 表示法
{
  "topicName": string
}
字段
topicName

string

必需。将事件发布到的完全限定 Pub/Sub 主题名称。此主题必须归发起调用的项目所有,并且已存在于 Pub/Sub 中。

EventType

可监控的可能事件类型。

枚举
EVENT_TYPE_UNSPECIFIED 未指定的事件类型。不应使用此值。
SCHEMA 架构事件类型。属于该事件类型的手表将会收到有关表单内容和设置更改的通知。
RESPONSES 响应事件类型。具有此事件类型的手表会在表单回复提交时收到通知。

ErrorType

可能的错误类型。

枚举
ERROR_TYPE_UNSPECIFIED 未指定的错误类型。
PROJECT_NOT_AUTHORIZED Cloud 项目无权访问正在监控的表单。如果用户撤消了您的项目访问其表单的授权,就会发生这种情况。具有此错误的手表不会重试。要再次尝试开始观看表单,可调用 watches.renew
NO_USER_ACCESS 授予访问权限的用户无法再访问正在监控的表单。具有此错误的手表不会重试。要再次尝试开始观看表单,可调用 watches.renew
OTHER_ERRORS 发生了其他类型的错误。通知是否继续取决于手表 state

可能的 Watch 状态。

枚举
STATE_UNSPECIFIED 未指定状态。
ACTIVE 手表已启用。
SUSPENDED 手表已因错误而被暂停,该错误可能可以解决。手表将继续存在,直到过期。如要尝试重新激活手表,可以拨打 watches.renew

方法

create

创建新手表。

delete

删除手表。

list

返回调用的项目拥有的手表列表。

renew

将现有手表续订 7 天。