Google Home操作的唯一用户ID不是唯一的

时间:2018-01-30 07:31:45

标签: node.js actions-on-google

当从设备请求时,这会给undefined

originalRequest.data.device.uniqueDeviceId

originalRequest.data.user.userId提供与getUser().userId相同的用户ID,这不是唯一的。每次为用户更改此ID。

用户识别该用户是唯一的唯一ID是哪一个?

1 个答案:

答案 0 :(得分:4)

Google uniqueDeviceId从未被记录过,因为它可以在未经用户许可的情况下用于显示信息而被删除。

您通过userId或通过JSON定义的getUser()是唯一标识用户的正确方法。

一般情况下, 会在来电之间保持一致,there are a number of cases where it will change。最值得注意的是:

  • 如果用户在扬声器上,但与该设备的任何已注册语音配置文件不匹配(或设备上没有注册的语音配置文件)。在这些情况下,用户是“匿名的”,系统必须按照这种方式对其ID进行处理。
  • 如果用户重置了Action的标识符(与删除Web Cookie的方式相同)。
  • 如果用户在设备上重置其帐户。
  • 如果用户未使用您的操作30天。

<强>更新

匿名userId has been deprecated将于2019年5月删除。如果您需要该用户的userId,您可以使用account linking或自行生成store it in the user storage object。这些都没有上述相同的限制。