这是我第一次使用Dialogflow,所以可能我的错误非常愚蠢。
这是我的问题:
1)我创建了一个样本代理“小谈话”。
2)我在实现部分启用了Webhook。我设置了发出请求的Web服务器的URL以及该Web服务器的auth(用户名,密码)。
3)我在该Web服务器上上传了一个简单的网页,其中包含一个如下所示的API请求(这是其指南中引用的示例json):
axios({
method: 'POST',
url: 'https://api.dialogflow.com/v1/query?v=20150910',
headers: {
'Authorization': 'Bearer ad7829588896432caa8940a291b66f84',
'Content-Type': 'application/json',
},
body: {
"contexts": [
"shop"
],
"lang": "en",
"query": "I need apples",
"sessionId": "12345",
"timezone": "America/New_York"
}
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
})
我不断收到此错误:
Cannot parse json. Please validate your json. Code: 400"
我唯一能做的是,我注意到Dialogflow现在正在使用代理设置中默认启用的API V2,并且似乎不再有V1可用的选择。但这可能与我的问题无关。
谢谢!
答案 0 :(得分:1)
解决了!
在json请求中,而不是
body: {...}
我替换为
data: {...}
也许很明显,但是我绝对不是这些新手!