【问题标题】:Store data per Google Account in Google Assistant在 Google 助理中存储每个 Google 帐户的数据
【发布时间】:2018-09-22 14:59:27
【问题描述】:

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

示例:

我在 Google 助理中调用我的助理应用。这现在要求保存一个笔记,它应该存储在某个地方。我正在使用 webhook,它将来自 Google 的请求发送到我的网络服务器并在那里处理数据。

我的想法

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

我还看到我可以将account-linking 添加到应用程序。但我不知道这项服务是否是为此而建的?有没有其他方法可以解决这个问题?

非常感谢您的每一个回复。

【问题讨论】:

    标签: dialogflow-es actions-on-google


    【解决方案1】:

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

    作为您的 webhook 通过 Google 助理发送的信息的一部分,您可以获得一个唯一但匿名的 UserID,您可以像对待网络 cookie 一样对待它。除非用户故意采取行动撤销此 ID,否则此人在其帐户通过 Google 助理绑定的所有设备上都是一致的。

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

    此外,还有一个可用的会话 ID。正如您所猜测的,这对于每个会话都是新的,并且与用户无关。在某些情况下,它会为每个会话生成一个新的 UserID,但在这些情况下,用户在其 Google Home 上使用通用/默认帐户,因此您不能相信返回的自然人与之前联系过你的人。

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

    【讨论】:

    • 非常感谢。所以为了简短的结论,我必须使用userId 来识别用户。如果我误解了,请纠正我。
    • 就是这样。 {:但是,请记住,此 UserID 不对应于其他任何内容。
    猜你喜欢
    • 1970-01-01
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-02-17
    • 2021-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多