如何解决谷歌动作模拟器无法访问我的网络服务器
我尝试测试我的 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);
解决方法
这是一个专门针对审核中的操作的页面,但它也提供了一些其他支持选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。