在Google智能助理中存储每个Google帐户的数据

问题描述:

我目前正试图通过助手将本地存储的一些数据存储到设备或Google帐户。在Google智能助理中存储每个Google帐户的数据

例子:

我在谷歌助理打电话给我的助手应用程序。这现在要求保存一个笔记,现在应该存储在某个地方。我使用webhook,它将Google的请求发送到我的Web服务器并处理数据。

我的想法

当然,我可以在MySQL数据库中保存,但没有任何凭据,我不能存储这个特定的人。我的第一个想法是将它保存到cookie中,但不幸的是,API.AI(我用于Google智能助理应用程序)将始终创建一个新会话,因此我无法将其保存在那里。

我也看到,我可以将account-linking添加到应用程序。但是我不知道这个服务是否是为此而构建的?还有另一种方法来实现这个问题吗?

非常感谢您的回复。

您无权访问Google智能助理上使用的Google帐户。您也无法访问助手正在运行的设备的本地存储 - 请记住,他们可以一次从多个设备访问助手。

作为您的webhook通过助手发送的信息的一部分,您可以获得一个唯一但匿名的UserID,您可以将其类似地视为Web cookie。除非用户采取有意的行动撤销此ID,否则其帐户通过助手绑定到的所有设备上的此人都是一致的。

您可以使用此ID将用户的信息存储在云中或服务器上的数据库中(例如Firebase数据库),因为下次他们使用您的服务时,他们将使用相同的ID ,但不能直接将其发送回存储在用户的Android或iOS设备上。由于用户可以跨多个设备访问该助手(因此也可以访问您的操作),这可能是件好事。

此外,还有一个会话ID可用。正如你猜测的那样,这对每个会话都是新的,而不是绑定到用户。在某些情况下,它会为每个会话生成一个新的用户ID,但这些情况下,用户在其Google Home上使用通用/默认帐户的情况下,您不能相信返回的实体人员与一个与你联系过的人。

在某些情况下,帐户关联可能会有所帮助,但需要大量额外的工作。如果您将他们的助理帐户“您的”帐户关联起来,并且您的帐户有权向他们发送类似Firebase云消息的内容,则可以编写在设备上运行的应用程序,并通过将数据存储在本地存储中来处理FCM 。

+0

非常感谢。因此,对于简短的结论,我必须使用'userId'来标识用户。如果我误解了,请纠正我。 –

+0

就是这样。 {:但是,请记住,此用户标识不对应于其他任何内容。 – *er