根据智能家居的Google文档,在agentUserId中使用的action.devices.QUERY定义为:Refl在代理平台上生成唯一(且不可变)的用户ID。
但是,在某些情况下,同一个设备(具有相同的代理用户id)被附加到多个Google帐户,在这种情况下,断开连接请求可能导致所有帐户的报表状态停止。解决方案将是添加一些与谷歌助理帐户相对应的唯一ID,但是在任何请求中都无法获得此类信息。
有没有人看到类似的问题,我的理解是否不正确?
发布于 2020-04-13 15:42:58
agentUserId应该是智能家居平台上的用户帐户。SHP用户'1234‘可能有一个真空和两个灯,但可以链接到多个谷歌帐户。
在帐户链接过程中,您应该提供刷新和访问令牌,以允许Google对这些设备进行授权控制。如果为每个登录的Google帐户分配唯一的访问令牌,则可以确定请求来自哪个Google帐户。
此时,一旦用户断开连接,您可以使用请求头中的访问令牌将其与特定的Google帐户关联起来,并且只禁用该帐户的报告,同时不影响其他帐户。
所以,是的,解决方案是有一个唯一的ID连接到帐户。虽然这不是在代理ID中传递的,但是已经有一种机制可以通过授权系统来实现这种关联。
或者,您可以在agentUserId中追加一个密钥,即。'1234-user@gmail.com‘。然而,这可能会在主页图中产生意想不到的影响。在多用户家庭中,你可能会看到设备被复制,因为谷歌没有正确的信息去还原。
https://stackoverflow.com/questions/61148830
复制相似问题