Wit.ai客户端API调用失败
问题描述:
我想通过javascript(ReactJS)向Wit.ai发出API请求。我的网络浏览器选项卡显示呼叫失败消息:Wit.ai客户端API调用失败
“错误”:“坏身份验证,检查令牌/ PARAMS”
然而,相同的呼叫显示在Wit.ai一样成功日志。我已验证凭证是否正确,并且可以通过终端成功拨打电话。
这里的电话:
async action() {
const resp = await fetch('https://api.wit.ai/message?v=20160526&q=hello', {
method: 'GET',
headers: {
'Authorization': "Bearer " + accessToken
},
dataType: 'jsonp',
mode: 'no-cors',
credentials: 'include'
}).then(resp => resp.json()).catch(e => console.log('Boo', e));
}
答
因为它是一个JSONP请求时,你会被其“输入意外结束”即使该请求已经被正确执行。如果不通过应用服务器代理请求,我不确定还有什么方法可以使其工作。不管怎么说,对于这种要求,彻底清除headers
和移动访问令牌进入查询字符串作为access_token
查询参数:
await fetch(`https://api.wit.ai/message?v=20160526&q=hello&access_token=${accessToken}`, {
method: 'GET',
dataType: 'jsonp',
mode: 'no-cors',
credentials: 'include'
}).then(resp => resp.json()).catch(e => console.log('Boo', e));
退房浏览器上的“网络”选项卡,看看该请求已得到圆满解决,甚至尽管在执行此fetch
调用期间已达到catch
块。