对 Google V2 idToken 的操作未发送

Actions on Google V2 idToken not sent

正在查看有关 google https://developers.google.com/actions/reference/rest/Shared.Types/AppRequest

上的操作的 appRequest 文档

用户对象说 userId 属性 现已弃用,我们应该使用 idToken 而不是 https://developers.google.com/actions/reference/rest/Shared.Types/AppRequest#user

但是在模拟器中测试 V2 动作时,我的响应仅包含 userId 属性 而不是 idToken

我肯定在使用 API 的 V2,这并不是说它是链接帐户时的可选字段(我 还没有 完成任何帐户链接)。

是否应该包括该字段?

完全该页面所说的内容。

是的,它说 userId 属性 已弃用 - 它没有显示任何替代品。尽管您可以 create one yourself if needed.

,但它已被弃用而没有直接替换

不是idToken取代它,虽然你可以从idToken获得一个唯一的ID,但它不会直接这样做.它也不会给你 idToken 除非你 take some steps to enable it.

要使用 idToken 获取用户标识符,您需要做几件事:

  1. 打开 Google 登录助手。
  2. 请求用户使用 Google 登录助手 让他们通过其他方式登录(Google 登录网络或移动设备)到同一个项目。
  3. 当您获得 idToken 时,验证并提取 JWT 负载。如果您使用的是 action-on-google 库,它会为您执行此操作。如果不是,则这是一个标准的 JWT 令牌,您应该验证它并且有效负载包含 ID。