我可以通过 google 助手设置和访问用户首选项吗
Can I set and access user preference from google assistant
我有一个我创建的动作,我认为它对某个社区有很大的价值。问题是我使用 URL 和 API 键访问 API。效果很好,但是每个用户都有自己独特的 URL 和 APIKey。
有什么方法可以为每个用户设置和使用个性化设置吗?最好把这些值放在他们自己的google帐户上,在那里操作可以访问这些值,但我不能。
我能想到的唯一其他选择就是简单地共享我的代码,进行定制,但我认为 google 目前还不支持私人助理。
如果您只是想为用户存储简单的数据,您可以使用 user storage 为用户保留一个 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;
});
我成功了。我是这样做的。仍然欢迎反馈。
const parameters = request.body.queryResult.parameters;
function setKey(agent) {
conv.user.storage.apiKey = parameters.APIKey;
conv.ask('Ok, saving ' + parameters.APIKey);
agent.add(conv);
}
function getKey(agent) {
agent.add(`Your current key is ` + conv.user.storage.apiKey);
}
我有一个我创建的动作,我认为它对某个社区有很大的价值。问题是我使用 URL 和 API 键访问 API。效果很好,但是每个用户都有自己独特的 URL 和 APIKey。
有什么方法可以为每个用户设置和使用个性化设置吗?最好把这些值放在他们自己的google帐户上,在那里操作可以访问这些值,但我不能。
我能想到的唯一其他选择就是简单地共享我的代码,进行定制,但我认为 google 目前还不支持私人助理。
如果您只是想为用户存储简单的数据,您可以使用 user storage 为用户保留一个 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;
});
我成功了。我是这样做的。仍然欢迎反馈。
const parameters = request.body.queryResult.parameters;
function setKey(agent) {
conv.user.storage.apiKey = parameters.APIKey;
conv.ask('Ok, saving ' + parameters.APIKey);
agent.add(conv);
}
function getKey(agent) {
agent.add(`Your current key is ` + conv.user.storage.apiKey);
}