- JSON 表示法
- 用户
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- UserProfile
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- PackageEntitlement
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 使用权
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- SignedData
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 设备
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 平台
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 权限
- 对话
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- 输入
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
- RawInput
          <ph type="x-smartling-placeholder">- </ph>
            
- JSON 表示法
 
AppRequest 是 Google 助理为了与 Action 交互而向执行方式发送的请求。API 版本在 HTTP 标头中指定。对于 API 版本 1,头文件包含:Google-Assistant-API-Version: v1。对于 API 版本 2,头文件包含:Google-actions-API-Version: 2。如需查看如何在 Actions on Google 中使用此 API 的示例,请参阅 https://developers.google.com/assistant/df-asdk/reference/conversation-webhook-json。
| JSON 表示法 | |
|---|---|
| { "user": { object ( | |
| 字段 | |
|---|---|
| user | 
 发起对话的用户。 | 
| device | 
 用户用来与 Action 互动的设备的相关信息。 | 
| surface | 
 有关用户当前互动的界面的信息,例如以及设备能否输出音频或配备屏幕。 | 
| conversation | 
 保存会话数据,例如对话 ID 和对话令牌。 | 
| inputs[] | 
 与 Action 指定的预期输入对应的输入源列表。对于初始对话触发器,输入包含有关用户如何触发对话的信息。 | 
| isInSandbox | 
 指示是否应在沙盒模式下处理请求。 | 
| availableSurfaces[] | 
 可用于跨平台移交的平台。 | 
用户
| JSON 表示法 | |
|---|---|
| { "idToken": string, "profile": { object ( | |
| 字段 | |
|---|---|
| idToken | 
 令牌表示用户的身份。这是一个包含编码配置文件的 Json Web 令牌。有关定义,请访问 https://developers.google.com/identity/protocols/OpenIDConnect#obtainuserinfo。 | 
| profile | 
 最终用户的相关信息。有些字段仅在用户授权向 Action 提供这些信息时才可用。 | 
| accessToken | 
 OAuth2 令牌,用于识别您系统中的用户。仅当用户关联了自己的账号时才可用。 | 
| permissions[] | 
 包含用户向此操作授予的权限。 | 
| locale | 
 发出请求的用户的主要语言区域设置。遵循 IETF BCP-47 语言代码 http://www.rfc-editor.org/rfc/bcp/bcp47.txt,但不包含脚本子标记。 | 
| lastSeen | 
 上次与此用户互动的时间戳。如果用户之前未与代理互动过,此字段会被省略。 时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒。示例: | 
| userStorage | 
 应用提供的不透明令牌,对于特定用户,在各对话中保持不变。该字符串最多可包含 1 万个字符。 | 
| packageEntitlements[] | 
 操作软件包中列出的每个软件包名称的用户使用权列表(如果有)。 | 
| userVerificationStatus | 
 指明用户的验证状态。 | 
UserProfile
包含用户的个人信息。仅当用户向 Action 授予对特定字段的权限时,系统才会填充这些字段。
| JSON 表示法 | |
|---|---|
| { "displayName": string, "givenName": string, "familyName": string } | |
| 字段 | |
|---|---|
| displayName | 
 用户在 Google 账号中指定的全名。需要  | 
| givenName | 
 用户在其 Google 账号中指定的名字。需要  | 
| familyName | 
 用户在 Google 账号中指定的姓氏。请注意,此字段可以为空。需要  | 
PackageEntitlement
与软件包名称相关的使用权列表
| JSON 表示法 | |
|---|---|
| {
  "packageName": string,
  "entitlements": [
    {
      object ( | |
| 字段 | |
|---|---|
| packageName | 
 应与操作软件包中的软件包名称一致 | 
| entitlements[] | 
 指定应用的使用权列表 | 
使用权
定义用户的数字使用权。可能的授权类型:付费应用、应用内购买、应用内订阅。
| JSON 表示法 | |
|---|---|
| { "sku": string, "skuType": enum ( | |
| 字段 | |
|---|---|
| sku | 
 产品 SKU。付费应用的软件包名称,用于应用内购买和应用内订阅的 Finsky docid 后缀。与 Play InApp Billing API 中的 getSku() 匹配。 | 
| skuType | 
 | 
| inAppDetails | 
 仅适用于应用内购买和应用内订阅。 | 
SignedData
| JSON 表示法 | |
|---|---|
| { "inAppPurchaseData": { object }, "inAppDataSignature": string } | |
| 字段 | |
|---|---|
| inAppPurchaseData | 
 匹配 getPurchases() 方法中的 INAPP_PURCHASE_DATA。包含 JSON 格式的所有应用内购买数据。如需了解详情,请参阅 https://developer.android.com/google/play/billing/billing_reference.html 的表 6。 | 
| inAppDataSignature | 
 匹配 Play InApp Billing API 中 getPurchases() 方法中的 IN_APP_DATA_SIGNATURE。 | 
设备
用户用来与 Action 互动的设备的相关信息。
| JSON 表示法 | |
|---|---|
| {
  "location": {
    object ( | |
| 字段 | |
|---|---|
| location | 
 表示实际的设备位置,如纬度、经度和格式化的地址。需要  | 
Surface
用户与之互动的 Google 助理客户端 Surface 的专属信息。Surface 与设备的不同之处在于,同一设备上可能会有多个 Google 助理界面。
| JSON 表示法 | |
|---|---|
| {
  "capabilities": [
    {
      object ( | |
| 字段 | |
|---|---|
| capabilities[] | 
 Surface 在请求时支持的功能列表,例如 | 
能力
表示 surface 能够支持的功能单元。
| JSON 表示法 | |
|---|---|
| { "name": string } | |
| 字段 | |
|---|---|
| name | 
 功能的名称,例如 | 
对话
| JSON 表示法 | |
|---|---|
| {
  "conversationId": string,
  "type": enum ( | |
| 字段 | |
|---|---|
| conversationId | 
 多轮对话的唯一 ID。已分配给第一轮。此后,它在后续对话中保持不变,直到对话终止。 | 
| type | 
 type 指示对话在其生命周期内的状态。 | 
| conversationToken | 
 由上一轮对话中的 Action 指定的不透明令牌。Action 可以使用它来跟踪对话或存储对话相关数据。 | 
输入
| JSON 表示法 | |
|---|---|
| { "rawInputs": [ { object ( | |
| 字段 | |
|---|---|
| rawInputs[] | 
 每一轮对话的原始输入转录。对于 Google 上的 Action,可能需要多个轮流的对话才能为 Action 提供某些类型的输入。 | 
| intent | 
 指示用户的 intent。对于第一轮对话,intent 将引用操作的触发 intent。对于后续对话,该 intent 将是 Google 上的常见操作(以“actions.”开头)。例如,如果预期输入为  | 
| arguments[] | 
 为 Action 请求的输入提供的参数值列表。 | 
RawInput
| JSON 表示法 | |
|---|---|
| { "inputType": enum ( | |
| 字段 | ||
|---|---|---|
| inputType | 
 指明用户如何提供此输入:输入的响应、语音回复、未指定等。 | |
| 联合字段 input。实际输入值input只能是下列其中一项: | ||
| query | 
 最终用户输入或语音输入的内容。 | |
| url | 
 触发网址。 | |
