我正在尝试使用目标应用程序名称hexion的其余服务进行查询以查找帐户。 当我运行时,它给出了无效的uri错误。 我在邮递员中测试的网址如下 https://ekaa-dev1.fa.us6.oraclecloud.com/crmRestApi/resources/11.13.18.05/accounts?q=OrganizationName = Hexion
在邮递员中,我也得到了回应。 但是我感觉在代码中的某个地方我正在做一些语法错误,但是找不到它
//nodejs v4.2.6
console.log("Hello, World!");
var Request = require("request");
var serviceUserName="msonawane@gmail.com";
var password="Welcome01";
var personalDataURL="https://ekaa-dev1.fa.us6.oraclecloud.com/crmRestApi/resources/11.13.18.05/accounts";
var option1 = {
uri: personalDataURL,
qs: {
q:{OrganizationName:"Hexion"}
},
headers: {
"Authorization" : auth,
"Content-Type": 'application/json',
"Accept":'application/json'
}
};
var auth = `Basic ` + new Buffer(serviceUserName+`:`+password).toString(`base64`);
Request.get(option1, { json: true },
(error, response, body) => {
console.log(response);
//console.log(response.url);
if (error) { return console.log(body,error); }
console.log(body.url);
console.log(body.explanation);
});
我希望它在成功获取后能够返回响应 请让我知道错误,我已经更改了身份验证凭据,因此一旦您发现需要更正的内容,请让我输入上述代码,我将尝试使用正确的凭据并更新您
答案 0 :(得分:0)
request.get方法期望第一个参数为url,但是您传递的是options1 obj,它找不到url,因此给出错误“无效的uri /”。 您可以将查询参数附加到url或使用querystring npm
var personalDataURL= "https://ekaa-dev1.fa.us6.oraclecloud.com/crmRestApi/resources/11.13.18.05/accounts?q=OrganizationName=Hexion"
request({
headers: {
"Authorization" : auth,
"Content-Type": 'application/json',
"Accept":'application/json'
},
uri: personalDataURL,
method: 'GET'
}, function (err, res, body) {
//it works!
});
有关更多详细信息,请参见request