{动作名称}目前没有回应。请稍后重试

时间:2018-09-04 16:59:23

标签: azure express actions-on-google fulfillment

我是ActionSDK的新手,我使用Action SDK创建了一个项目。 我的操作的完成是作为Web服务部署在Azure中。

我正在使用以下方法更新我的操作:

  

gactions更新--action_package action.json-项目“ projectID”

这就是说,更新成功。

这是我的action.json:

 {
  "actions": [
    {
      "name": "MAIN",
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to Conduent Helper",
            "Talk to conduent help"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "conduentHelpTest"
      }
    }
  ],
  "conversations": {
    "conduentHelpApp": {
      "name": "conduentHelpTest",
      "url": "https://dialogflowappnc.azurewebsites.net",
      "fulfillmentApiVersion": 2
    } 
  }
}

这是我自己尝试后发现的实现代码,但没有成功:

'use strict';

var express = require('express');
var bodyParser = require('body-parser');
var exps = express();

const ApiAiApp = require('actions-on-google').ApiAiApp;

exps.use(bodyParser.json());

// API.AI actions
const WELCOME_ACTION = 'input.welcome';

exps.post('/', function(request, response) {

  console.log("hello World");

  const app = new ApiAiApp({request, response});
  function greetUser (app) {
    app.tell("Hello World!");
  }

  let actionMap = new Map();
  actionMap.set(WELCOME_ACTION, greetUser);

  app.handleRequest(actionMap);
});

exps.listen((process.env.PORT || 7001), function() {
    console.log("App up and running, listening.")
})

每当我在模拟器中测试时,响应为:

  

{动作名称}目前没有响应。请稍后重试。

每当我使用上面的命令进行更新时,我都会在Web服务中看到一个请求。但是,当我尝试在模拟器中测试操作时,我看不到任何请求。

如果有人可以指出我正确的方向。在继续之前,请指出我最了解的知识。我需要提供更多信息,让我知道并感谢。

2 个答案:

答案 0 :(得分:0)

抱歉,我没有足够的意见要发表,但是我们目前正在中断,如果您受到影响https://azure.microsoft.com/en-us/status/

,可以在这里查看

enter image description here

您将要监视Azure状态页以获取进一步的更新。不幸的是,在工程解决问题之前,我们无法采取任何措施。

答案 1 :(得分:0)

有两个潜在问题:

首先-您没有显示package.json文件,但是代码表明您使用的是Google Actions库的旧版本。因此,代码本身可能未运行。检查您的运行时日志以确保它是正确的。

接下来,您已指定它应该在端口7001上进行侦听,但是在actions.json文件中提供的URL不包含端口号。如果那是运行它的主机和端口,并且您未提供某种代理,则需要将URL指定为{{1}}

此外,如果您在端口7001上运行,则可能还没有打开防火墙来访问它。

但是您似乎正在运行代理(或者应该运行代理),因为您还需要提供带有有效SSL证书的有效HTTPS连接。如果这是自签名证书,则连接仍可能被拒绝。