下面是我使用Node.js中的请求模块调用microsoft QnA maker API的代码。
var request=require('request');
var demo=[];
console.log("Doing the Post Operations...");
// Define an demo object with properties and values. This object will be used for POST request.
var demo=JSON.stringify({
"question": "Hi",
"top": 1
});
request({
uri:"https://westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases/my_kb_id/generateAnswer",
method: "POST",
json: true,
headers:{
'Ocp-Apim-Subscription-Key':'my_key',
'Content-Type':'application/json'
},
body: demo
}, function (error, response, body){
console.log(response);
});

这让我回到了“坏论据”中。错误。我在哪里错了?
答案 0 :(得分:0)
我使用Node.js中的请求模块处理调用Microsoft QnA制造商API的代码。以下代码工作正常。我没有使用JSON.stringify,而是直接将演示作为JSON传递。
var request=require('request');
var demo={"question" : "hi",
"top": 4};
url='https://accountqna.azurewebsites.net/qnamaker/knowledgebases/my_kb_id/generateAnswer';
atuhorisationKey="EndpointKey <atuhorisationKey>"
request({
url: url,
method: "POST",
headers:{
'Authorization':atuhorisationKey,
'Content-Type': 'application/json'
},
json:demo
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
console.log(body)
}
else {
console.log("error: " + error)
console.log("response.statusCode: " + response.statusCode)
console.log("response.statusText: " + response.json)
}
})