当设备请求时,这会给出未定义
:
originalRequest.data.device.uniqueDeviceId
originalRequest.data.user.userId
给出的用户 ID 与 getUser().userId
相同,但不是唯一的。用户每次都会更改此 ID。
用户唯一的Id是哪个,用来标识该用户是唯一的?
最佳答案
Google 从未记录过 uniqueDeviceId
并已将其删除,因为它可用于在未经用户许可的情况下泄露信息。
您通过 getUser()
或 JSON 定义的 userId
是唯一标识用户的正确方法。
一般来说,调用之间将保持一致,但是,there are a number of cases where it will change 。最值得注意的是:
- 如果用户使用扬声器,但与该设备的任何注册语音配置文件都不匹配(或者设备上没有注册的语音配置文件)。在这些情况下,用户是“匿名”的,系统必须以这种方式对待他们的 ID。
- 如果用户重置操作的标识符(就像他们可能删除网络 Cookie 一样)。
- 如果用户在设备上重置其帐户。
- 如果用户在 30 天内没有使用您的操作。
更新
匿名用户ID has been deprecated并将于 2019 年 5 月删除。如果您需要用户的 userId,您可以使用 account linking或者自己生成它并 store it in the user storage object 。这些都没有上述相同的限制。
关于node.js - Google Home 操作的唯一用户 ID 不唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48516120/