我可以阻止参数被截断吗?
can I stop parameters from being truncated?
我需要为用户保存一个 API 密钥,以便他们可以使用我的服务。我已经弄清楚了持久性和检索,我可以从我的浏览器中剪切和粘贴密钥,我希望用户会这样做。不理想,但这是一次性的事情。我遇到的问题是响应 json 中传递的参数是截断值。这是一个例子。
{
"responseId": "169a5307-2148-4d3d-bdd8-a50a1c365aaf",
"queryResult": {
"queryText": "set my key to 16FF43FE-A8D9-xxxx-xxxx-xxxxxxxxxxxx",
"parameters": {
"APIKey": "16FF43FE-A8D9"
这里有什么建议吗?
Dialogflow 无法轻松解析标识符和键,因此您可能会遇到类似这样的问题。
在 UI 设计中,您不想手动输入 API 键,但一种解决方法是从 Dialogflow 的原始查询文本中获取完整键,而不是尝试将其提取为一个参数。
只是与其他想做类似事情的人分享我的解决方案。这是一个边缘案例,即使对我的助手来说也是如此,但却是必要的。
function setKey(agent) {
var myRegexp = /my (?:key|API key) is (.*)/gi;
var queryText = request.body.queryResult.queryText;
var match = myRegexp.exec(queryText);
conv.user.storage.apiKey = match[1];
conv.ask('Ok, saving ' + match[1]);
agent.add(conv);
}
我需要为用户保存一个 API 密钥,以便他们可以使用我的服务。我已经弄清楚了持久性和检索,我可以从我的浏览器中剪切和粘贴密钥,我希望用户会这样做。不理想,但这是一次性的事情。我遇到的问题是响应 json 中传递的参数是截断值。这是一个例子。
{
"responseId": "169a5307-2148-4d3d-bdd8-a50a1c365aaf",
"queryResult": {
"queryText": "set my key to 16FF43FE-A8D9-xxxx-xxxx-xxxxxxxxxxxx",
"parameters": {
"APIKey": "16FF43FE-A8D9"
这里有什么建议吗?
Dialogflow 无法轻松解析标识符和键,因此您可能会遇到类似这样的问题。
在 UI 设计中,您不想手动输入 API 键,但一种解决方法是从 Dialogflow 的原始查询文本中获取完整键,而不是尝试将其提取为一个参数。
只是与其他想做类似事情的人分享我的解决方案。这是一个边缘案例,即使对我的助手来说也是如此,但却是必要的。
function setKey(agent) {
var myRegexp = /my (?:key|API key) is (.*)/gi;
var queryText = request.body.queryResult.queryText;
var match = myRegexp.exec(queryText);
conv.user.storage.apiKey = match[1];
conv.ask('Ok, saving ' + match[1]);
agent.add(conv);
}