谷歌动作模拟器无法访问我的网络服务器

问题描述

我尝试测试我的 Google 助理应用程序,但 console.action 模拟器无法访问我的网络服务器而“dialogflow 模拟器”可以 (Dialogflow simulator screenshot)。我在我的 ngrok 控制台中没有收到任何来自它的请求。 当我在模拟器中编写“与我的测试应用程序对话”时,出现以下错误

We're sorry,but something went wrong. Please try again.

.

{
  "response": "We're sorry,but something went wrong. Please try again.","expectUserResponse": false,"conversationToken": "","audioResponse": "","ssmlMarkList": [],"visualResponse": {
    "visualElementsList": [
      {
        "displayText": {
          "content": "Sorry,this action is not available in simulation"
        }
      }
    ],"suggestionsList": [],"agentlogoUrl": ""
  },"clientError": 8,"is3pResponse": false,"clientOperationList": [],"projectName": "","renderedHtml": "","previewStartTimeMicros": "","isEmptyResponse": false,"agentName": "","servingModelOutdated": false
}

我尝试过的所有解决方案:

  • 我在个人帐户 (App activity screenshot) 上启用了网络和应用活动。
  • 我启用了日志并应用了查询“resource.type="global"”,但没有出现任何日志(除了使用 dialogflow 执行的测试产生的那些)
  • 我已经手动修改了模拟器的 webhook 地址。 Webhook simulator screenshot
  • 我多次删除我的项目并重新创建它。
  • 我尝试在手机上调用向导。
  • 我尝试过 ngrok 和 localtunnel
  • 在 dialogflow 中,我转到设置 => 共享并添加一个新用户作为开发人员(我的主要谷歌帐户的子帐户)。然后我转到 IAM 控制台并授予他以下权限:“Dialogflow API Client”、“Reader”。我通过另一个浏览器使用此帐户访问了模拟器,但错误仍然存​​在。 (Source)
  • 我为意图“认欢迎意图”激活/停用了网络钩子。
  • 我更改了在创建项目 (Simulator location screenshot) 期间通知的那些模拟器的语言和本地化。

这是我的代码摘录:

const {
    dialogflow,actionssdk,Image,Table,Carousel,List,} = require('actions-on-google');
const express = require('express');
const bodyParser = require('body-parser');

const app = dialogflow({
    debug: false
});

app.intent('Default Welcome Intent',(conv,params) => {
    conv.ask(`Salut mec ca va ?`);
});

app.catch((conv,error) => {
    console.error(error);
    conv.ask(`J'ai rencontré un problème,pouvez-vous répéter ?`);
});

app.fallback((conv) => {
    conv.ask(`Je n'ai pas compris. Pouvez-vous répéter ?`);
});

express().use(bodyParser.json(),app).listen(3000);

解决方法

这是一个专门针对审核中的操作的页面,但它也提供了一些其他支持选项。

https://support.google.com/actions-console/contact/support

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...