通过axios(发布)向dialogflow REST API发出“ detectIntent”请求,返回状态码为401。
我正在将“客户端密钥”作为授权载体传递。这是直接从dialogflow中获取的密钥,该密钥被标记为“客户端访问令牌”。
我正在尝试从我的Vue应用程序发出dialogflow请求。当前正在localhost:8080上提供此服务。
我尝试传递管理密钥,但没有成功。
我该怎么做才能正确验证请求。
这是我在vue中尝试通过axios发送请求的方法:
send() {
var config = {
headers: {
Authorization: "bearer XXXXX_Client_API_Key"
}
};
var payload = {
// session: "projects/agentID-XXXX/agent/sessions/" + this.currentUser,
queryParams: {
resetContexts: true
},
queryInput: {
text: {
text: this.newMessage,
languageCode: "en-US"
}
}
};
var url =
"https://dialogflow.googleapis.com/v2/projects/agentID-XXX/agent/sessions/" +
this.currentUser +
":detectIntent";
if (this.newMessage) {
axios
.post(url, payload, config)
.then(response => {
console.log(response.queryResult.fulfillmentTest);
})
.catch(error => {
console.error(error);
});
}
}
预期结果将使dialogflow返回一个响应对象。目前,它正在接收请求,但由于授权不当而被拒绝。