首页 > 解决方案 > 我可以从谷歌助手设置和访问用户偏好吗

问题描述

我创建了一个我认为对某个社区有很大价值的动作。问题是我使用 URL 和 APIKey 访问 API。它很好用,但是每个用户都有自己唯一的 URL 和 APIKey。

有没有办法为每个用户设置和使用个性化设置?最好将这些值放在他们自己的 google 帐户中,其中操作可以访问这些值,但我不能。

我能想到的唯一其他选择是简单地共享我的代码,进行定制,但我认为谷歌还不支持私人助理。

标签: firebaseactions-on-googledialogflow-es

解决方案


如果你只是想为用户存储简单的数据,你可以使用用户存储来为用户保存一个 JSON 对象。

function simpleResponse(conv) {
  conv.user.storage.count = 1;
  conv.ask(new SimpleResponse({
    speech: 'Howdy! I can tell you fun facts about ' +
      'almost any number, like 42. What do you have in mind?',
    text: 'Howdy! I can tell you fun facts about almost any ' +
      'number. What do you have in mind?',
  }));
}

如果您希望使用 Firebase,如您的标签所示,您可以为每个用户生成一个唯一 ID,并将该 ID 保存到用户存储中。之后,您可以使用该密钥作为在数据库中查找数据的一种方式。

conv.user.storage.firebaseKey = '123';
firebase.database().ref('/data/123').once('value').then((snapshot) => {
  let data = snapshot.val().myData;
});

推荐阅读