标签: api-ai

如何在webhook上获取会话ID

我正在为Google Home和Android移动助手制作助手应用

我在webhook 使用Google Action上的Google图书馆,这是推荐且方便的方法

在我的特定情况下,我想从webhook中创建userEntity,这需要会话ID,但是我无法在webhook上获取sessionid

根据api.ai文档,它将Json发送到webhook像这样:

{
    "lang": "en", 
    "status": {
        "errorType": "success", 
        "code": 200
    }, 
    "timestamp": "2017-02-09T16:06:01.908Z", 
    "sessionId": "1486656220806"              <<<<<<<<======here is session id
    "result": {
        "parameters": {
            "city": "Rome", 
            "name": "Ana"
        }, 
        "contexts": [], 
        "resolvedQuery": "my name is Ana and I live in Rome", 
        "source": "agent", 
        "score": 1.0, 
        "speech": "", 
        "fulfillment": {
            "messages": [
                {
                    "speech": "Hi Ana! Nice to meet you!", 
                    "type": 0
                }
            ], 
            "speech": "Hi Ana! Nice …
Run Code Online (Sandbox Code Playgroud)

session bots actions-on-google api-ai

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

有没有办法检索 Dialogflow 中的对话历史记录?

有没有办法获得用户和代理之间的完整对话。与我通过单击历史标签获得的结果非常相似,但以编程方式获得。重点是将用户和代理之间的交互保存为文本。

提前谢谢各位了!

chatbot node.js api-ai dialogflow-es dialogflow-es-fulfillment

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

Dialogflow:如何获取sys.boolean?

我想添加训练短语

Yes
I would love to
No
No, thanks
Run Code Online (Sandbox Code Playgroud)

并提取$extraCheese包含TrueFalse稍后可以使用的布尔变量。如果我期望使用一种颜色,我会做$dressColor@sys.color,但是然后找不到@sys.boolean

我该怎么做呢?

boolean-expression api-ai dialogflow-es

2
推荐指数
1
解决办法
651
查看次数

如何在谷歌助手应用程序中发送多个语句?

我正在创建一个Google Assistant应用程序来讲述报价,我目前正在使用Api.aiApiAi NodeJs webhook.我希望我的回答应该是这样的:

Innovation is the only way to win.
By Steve Jobs
Want one more?
Run Code Online (Sandbox Code Playgroud)

请注意,所有三条线都是不同的线.我知道如果我只使用api.ai的ux而不使用webhook(使用多个简单响应)是可能的,但是当与webhook结合时我无法弄清楚如何做到这一点.

我试过了:

assistant.ask("Innovation is the only way to win.");
assistant.ask("By Steve Jobs");
assistant.ask("Want one more?");
Run Code Online (Sandbox Code Playgroud)

但它似乎只说第一句话.我也试过用以下代替:

assistant.tell("Innovation is the only way to win.");
assistant.tell("By Steve Jobs");
assistant.ask("Want one more?");
Run Code Online (Sandbox Code Playgroud)

但它在第一个声明之后就退出了.怎么做?

node.js actions-on-google api-ai

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

如何在dialogflow v2中调用事件:nodejs

我正在通过 npm 使用dialogflow v2。我只想welcome在对话框流中调用一个事件。我该如何在nodejs中做到这一点?我对此还很陌生。这是我的代码

const projectId = "xxxxxx";
  const LANGUAGE_CODE = 'en-US';
  const sessionId = req.body.sessionId;
  var query = req.body.query;

  const sessionClient = new dialogflow.SessionsClient();
  const sessionPath = sessionClient.sessionPath(projectId,sessionId);
  const request = {
    session: sessionPath,
    queryInput: {
      text: {
        text: query,
        languageCode: LANGUAGE_CODE,
      },
    },
  };

  sessionClient.detectIntent(request).then(response => {
    console.log('intent detected');
    const result = response[0].queryResult;
    console.log(`  Query: ${result.queryText}`);
    console.log(`  Response: ${result.fulfillmentText}`);

    if(result.fulfillmentText) {
      console.log(result.fulfillmentText);
      return res.json({reply: result.fulfillmentText})
    }
    // if(result.intent) {
    //   console.log(`  Intent: ${result.intent.displayName}`)
    // }
    else …
Run Code Online (Sandbox Code Playgroud)

node.js npm api-ai dialogflow-es

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