目前,我正试图通过本地存储设备或Google帐户的助手存储一些数据。
示例:
我打电话给谷歌助理我的助手应用程序。这现在要求保存一张便条,它应该存储在某个地方。我使用的是web钩子,它将来自Google的请求发送到我的web服务器,并在那里处理数据。
我的想法
当然,我可以将数据保存在MySQL数据库中,但是没有任何凭据,我就不能为这个特定的人存储数据。我的第一个想法是将它保存到cookie中,但不幸的是,API.AI (我用于Google应用程序)总是会创建一个新的会话,所以我无法将它保存在那里。
我还看到可以将帐户连接添加到应用程序中。但我不知道这项服务是否是为此而建的?还有别的办法解决这个问题吗?
非常感谢你的每一个回应。
发布于 2017-10-10 02:14:35
您无法访问在Google助手上使用的Google帐户。您也无法访问助手正在运行的设备的本地存储空间--请记住,它们可以同时从多个设备访问助手。
作为您的web钩子通过助手发送的信息的一部分,您可以获得一个唯一的、但匿名的UserID,您可以将其处理得类似于webhook。除非用户有意撤销此ID,否则该用户在其帐户通过助手绑定的所有设备上都将保持一致。
您可以使用此ID将有关用户的信息存储在云中或服务器上(例如,Firebase数据库),因为下次他们使用您的服务时将显示相同的ID,但不能直接将其发回存储在用户的Android或iOS设备上。由于用户可以跨多个设备访问助手(因此,也可以访问您的操作),这可能是一件好事。
此外,还有一个可用的会话ID。正如您所推测的,这对于每个会话来说都是新的,并且不与用户绑定。在某些情况下,它会为每个会话生成一个新的UserID,但在这些情况下,用户在他们的Google上使用一个通用/默认帐户,因此您无法相信返回的自然人与之前与您联系的那个相同。
在某些情况下,帐户链接可能会对您有所帮助,但需要大量额外的工作。如果您链接他们的助手帐户“您的”帐户,并且您的帐户拥有向他们发送类似Firebase Cloud消息的权限,您可能可以编写运行在设备上并通过将数据存储在本地存储中来处理FCM的应用程序。
https://stackoverflow.com/questions/46655703
复制相似问题