我正在使用API.ai在Actions On Google API上构建.为了完成我的一个动作,我需要知道用户的位置和当地时间.
我已经能够成功地要求并收回用户的位置.
但是,我看不到任何获取用户本地时间或时区偏移的方法.有没有办法做到这一点?
(我意识到我可以使用该位置找出偏移量,但这需要另一个API调用或使用另一个库,我宁愿避免.)
提前致谢.
- 更新 -
根据Leon的回答,截至2017年1月18日,该信息目前尚未由API提供.为了获得所需信息,我请求了用户精确位置的权限,该位置返回lat和lng.然后我使用GeoNames 时区API来获取时区偏移量.
我有$dinetype从用户获得的变量.
但我想根据$dinetype变量中设置的值给出响应.除了回答之外,我还需要设置相关的上下文.我如何在DialogFlow中执行此操作?
if($Dinetype=='dineout')
ask ('which restaurant would you like to go to?')
set_context ('awaiting-restaurant')
if($Dinetype=='takeaway')
ask ('When would you like to take away?')
set_context ('awaiting-takeaway-time')
Run Code Online (Sandbox Code Playgroud)
它可编程吗?或者是否可以在UI中实现与上述相同的功能?
上周在 Google I/O '17 期间,Google 宣布 Google Assistant 将很快在其他国家/地区推出(例如法国、德国、日本......)我是一名法国开发人员,我想为 Google 开发一个新的 Action助手。
目前只能用英语进行,但有人知道国际化系统是否可用,或者我是否必须开发我当前的英语代理的副本并在法国人可以使用 Google 助理时将其翻译成法语?
如果创建了一个国际化系统,它是否仅在 API.ai 上可用,仅在 Actions SDK 上可用还是在两者上可用?
提前致谢 :)
编辑:Google Assistant 目前正在部署到法国用户 (29/05/2017),现在真的需要一个国际化系统。
我需要添加一个确认实体,以便在dialogflow(api.ai)中的某个操作的参数中得到"是"或"取消".假设用户正在购买咖啡,我会询问有关咖啡和数量的详细信息,最后我需要确认,我应该申请哪个实体?任何引用相同的教程也会有所帮助.
我有一个DialogFlow V2 node.js webhook.
我有一个用webhook动作调用的意图:
const { WebhookClient } = require('dialogflow-fulfillment');
const app = new WebhookClient({request: req, response: res});
function exampleIntent(app) {
app.add("Speak This Out on Google Home!"); // this speaks out fine. no error.
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我有一个成功完成的异步请求,并且我在成功块中执行app.add,如下所示:
function exampleIntent(app) {
myClient.someAsyncCall(function(result, err) {
app.add("This will not be spoken out"); // no dice :(
}
// app.add("but here it works... so it expects it immediately");
}
Run Code Online (Sandbox Code Playgroud)
...然后Dialog Flow不会等待语音返回.我在Response对象中得到错误:
"message": "Failed to parse Dialogflow response into AppResponse, exception …Run Code Online (Sandbox Code Playgroud) 我创建了一个聊天机器人,告知用户我(扩展)家庭的成员以及他们住在哪里.我已经创建了一个包含MySQL的小型数据库,其中存储了这些数据,并且只要这是合适的,我就会使用PHP脚本来获取它们,具体取决于用户与聊天机器人的交互.
我的聊天机器人包含两个意图此外,对于Default Fallback Intent和到Default Welcome Intent:
NamesLocation_context第一个意图(Names)由诸如"谁是约翰史密斯?"之类的短语训练.并有一个输出上下文(调用context持续时间为10个问题).这个问题的一个可能答案是"约翰是我的叔叔." 第二个意图(Location_context)由诸如"他住在哪里?"之类的短语训练.并有一个输入上下文(从Names).对这个问题的一个可能的答案是"约翰住在纽约."
该Names意图包含两个参数:
这两个参数表示用户给出的全名.该Location_context意图不包含任何参数.
PHP脚本如下:
<?php
$dbServername = '******************';
$dbUsername = '******************';
$dbPassword = '******************';
$dbName = '******************';
$conn = mysqli_connect($dbServername, $dbUsername, $dbPassword, $dbName);
// error_reporting(E_ALL);
// ini_set('display_errors', 'on');
header('Content-Type: application/json');
$method = $_SERVER['REQUEST_METHOD'];
if($method == 'POST'){
$requestBody = file_get_contents('php://input');
$json = json_decode($requestBody);
$action = $json->result->action;
$first_name = $json->result->contexts[0]->parameters->{'given-name'};
$last_name …Run Code Online (Sandbox Code Playgroud) 我的 Dialogflow 代理正在使用“Google 富消息上的操作”列表响应对象来显示 Google 助理平台上的选项。
在 Dialogflow 控制台上进行测试时,列表选项可以完美运行。但是,在移动设备上通过 Google Assistant Simulator 或 Google Assistant 应用程序进行测试时,列表选项在第一次尝试时不起作用。它仅在第二次选择选项时有效。
任何指导将不胜感激。
chatbot google-cloud-platform actions-on-google api-ai dialogflow-es
我有一个聊天机器人,它已插入后端和DialogFlow / ApiAI。我正在尝试建立Alexa的技能,以便我可以掌握所讲技能的所有内容,然后将其转发给后端,以便可以使用现有的基础架构和convo设计。
我一直在努力与Alexa建立一种意图,以抓住一切并转发它。据我了解,您应该使用AMAZON.SearchQuery,但在尝试设置意图时出现以下错误:
意图“ CATCH_ALL”的构建失败样本话语“ CATCH_ALL {any}”必须包含一个载体词组。短语类型的样本意图发声不能仅包含空位。错误代码:MissingCarrierPhraseWithPhraseSlot-
有人知道怎么做吗?我也尝试使用AMAZON.Literal,但它似乎已被弃用,使用时我无法建立该技能。我有点卡住了。如果有人有解决方案,那就太好了...
谢谢。
从上面的答案中,我知道表情符号可以以按钮格式的文本传递。
我尝试以简单的响应传递 unicode 但没有成功。
....."data": {
"google": {
"expectUserResponse": true,
"richResponse": {
"items": [
{
"simpleResponse": {
"ssml": "<speak>Hello. How are you ? </speak>",
"displayText": "Hello U+1F600., how are you ? "
}
}
],
"suggestions": [],
"linkOutSuggestion": {}
}
}
}.....
Run Code Online (Sandbox Code Playgroud)
有什么办法可以做到这一点吗?
我正在为Google助手进行操作。我的确有一个javascript实现,但是它并不是一个很好的清晰代码,因此可以正常工作。例如,我不知道如何在js中调用意图。但是我的问题是:是否可以对音频文件使用自定义的有效负载响应?我知道您可以使用Webhook播放音频文件,但是如果仅在自定义有效负载中可能会很可爱。
我希望有一个声音回应。如果不可能的话,如何在js中调用welcome intent?
api-ai ×10
alexa ×1
chatbot ×1
google-home ×1
if-statement ×1
javascript ×1
json ×1
node.js ×1
php ×1