标签: api-ai

我可以从Google上的操作中获取请求者的当地时间(或偏移)吗?

我正在使用API​​.ai在Actions On Google API上构建.为了完成我的一个动作,我需要知道用户的位置和当地时间.

我已经能够成功地要求并收回用户的位置.

但是,我看不到任何获取用户本地时间或时区偏移的方法.有没有办法做到这一点?

(我意识到我可以使用该位置找出偏移量,但这需要另一个API调用或使用另一个库,我宁愿避免.)

提前致谢.

- 更新 -

根据Leon的回答,截至2017年1月18日,该信息目前尚未由API提供.为了获得所需信息,我请求了用户精确位置的权限,该位置返回lat和lng.然后我使用GeoNames 时区API来获取时区偏移量.

actions-on-google google-home api-ai

6
推荐指数
1
解决办法
589
查看次数

Dialogflow:根据值和其他条件响应进行响应

我有$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中实现与上述相同的功能?

if-statement api-ai dialogflow-es

6
推荐指数
2
解决办法
5108
查看次数

对 Google 国际化的操作

上周在 Google I/O '17 期间,Google 宣布 Google Assistant 将很快在其他国家/地区推出(例如法国、德国、日本......)我是一名法国开发人员,我想为 Google 开发一个新的 Action助手。

目前只能用英语进行,但有人知道国际化系统是否可用,或者我是否必须开发我当前的英语代理的副本并在法国人可以使用 Google 助理时将其翻译成法语?

如果创建了一个国际化系统,它是否仅在 API.ai 上可用,仅在 Actions SDK 上可用还是在两者上可用?

提前致谢 :)

编辑:Google Assistant 目前正在部署到法国用户 (29/05/2017),现在真的需要一个国际化系统。

internationalization actions-on-google api-ai

5
推荐指数
1
解决办法
258
查看次数

在对话框流中添加确认实体(api.ai)

我需要添加一个确认实体,以便在dialogflow(api.ai)中的某个操作的参数中得到"是"或"取消".假设用户正在购买咖啡,我会询问有关咖啡和数量的详细信息,最后我需要确认,我应该申请哪个实体?任何引用相同的教程也会有所帮助.

api-ai dialogflow-es

5
推荐指数
1
解决办法
2045
查看次数

DialogFlow V2 Webhook - 在异步请求之后立即预测语音响应

我有一个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)

node.js actions-on-google api-ai dialogflow-es

5
推荐指数
1
解决办法
4435
查看次数

在Dialogflow上没有错误时,Google智能助理出错

我创建了一个聊天机器人,告知用户我(扩展)家庭的成员以及他们住在哪里.我已经创建了一个包含MySQL的小型数据库,其中存储了这些数据,并且只要这是合适的,我就会使用PHP脚本来获取它们,具体取决于用户与聊天机器人的交互.

我的聊天机器人包含两个意图此外,对于Default Fallback Intent和到Default Welcome Intent:

  • Names
  • Location_context

第一个意图(Names)由诸如"谁是约翰史密斯?"之类的短语训练.并有一个输出上下文(调用context持续时间为10个问题).这个问题的一个可能答案是"约翰是我的叔叔." 第二个意图(Location_context)由诸如"他住在哪里?"之类的短语训练.并有一个输入上下文(从Names).对这个问题的一个可能的答案是"约翰住在纽约."

Names意图包含两个参数:

  • 参数名称:给定名称,姓氏.
  • 实体:@sys.given-name,@ sys.last-name.
  • value:$ given-name,$ last-name.

这两个参数表示用户给出的全名.该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)

php json actions-on-google api-ai dialogflow-es

5
推荐指数
1
解决办法
620
查看次数

Dialogflow 列表第一次在 Google 助理上不起作用

我的 Dialogflow 代理正在使用“Google 富消息上的操作”列表响应对象来显示 Google 助理平台上的选项。

在 Dialogflow 控制台上进行测试时,列表选项可以完美运行。但是,在移动设备上通过 Google Assistant Simulator 或 Google Assistant 应用程序进行测试时,列表选项在第一次尝试时不起作用。它仅在第二次选择选项时有效。

任何指导将不胜感激。

chatbot google-cloud-platform actions-on-google api-ai dialogflow-es

5
推荐指数
1
解决办法
658
查看次数

Alexa-全包

我有一个聊天机器人,它已插入后端和DialogFlow / ApiAI。我正在尝试建立Alexa的技能,以便我可以掌握所讲技能的所有内容,然后将其转发给后端,以便可以使用现有的基础架构和convo设计。

我一直在努力与Alexa建立一种意图,以抓住一切并转发它。据我了解,您应该使用AMAZON.SearchQuery,但在尝试设置意图时出现以下错误:

意图“ CATCH_ALL”的构建失败样本话语“ CATCH_ALL {any}”必须包含一个载体词组。短语类型的样本意图发声不能仅包含空位。错误代码:MissingCarrierPhraseWithPhraseSlot-

意向配置

有人知道怎么做吗?我也尝试使用AMAZON.Literal,但它似乎已被弃用,使用时我无法建立该技能。我有点卡住了。如果有人有解决方案,那就太好了...

谢谢。

alexa alexa-skills-kit api-ai dialogflow-es

5
推荐指数
3
解决办法
1503
查看次数

SimpleResponse 中的表情符号

/sf/answers/3212359671/

从上面的答案中,我知道表情符号可以以按钮格式的文本传递。

但我正在寻找像谷歌这样的表情符号,它在气泡响应中。 在此输入图像描述

我尝试以简单的响应传递 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)

有什么办法可以做到这一点吗?

actions-on-google api-ai

4
推荐指数
1
解决办法
3031
查看次数

音频有效载荷对话框流(api.ai)

我正在为Google助手进行操作。我的确有一个javascript实现,但是它并不是一个很好的清晰代码,因此可以正常工作。例如,我不知道如何在js中调用意图。但是我的问题是:是否可以对音频文件使用自定义的有效负载响应?我知道您可以使用Webhook播放音频文件,但是如果仅在自定义有效负载中可能会很可爱。

我希望有一个声音回应。如果不可能的话,如何在js中调用welcome intent?

我的webhook现在: 在此处输入图片说明

javascript actions-on-google api-ai dialogflow-es

3
推荐指数
1
解决办法
1979
查看次数