这个想法是从NS连接到外部系统并从https响应获取令牌。 首先,我将这对代码(登录名,密码)转换为base64,然后创建了包含特定格式的授权参数的标头,最后发送了https请求。但是返回的响应代码是406,而不是200:/。
下面是我的代码结构的一个示例
SQL
您对此有任何想法!非常感谢:D
答案 0 :(得分:0)
然后考虑您要连接到的系统的api文档。您可能需要一个Accept标头,或者接收服务器的配置错误,并且它们不接受GET请求,而应该返回405。
最后,我假设在您的示例中:https:/..../api/auth/token
....
代替了真实的主机名。否则,您的响应将是Netsuite本身的某种相对响应。
答案 1 :(得分:0)
我必须将解决方案发布给其他NS开发人员,非常感谢@JonLamb和@bknights为您提供的帮助我的答案!
我的代码现在可以使用!
var stringInput = "email:password";
var base64EncodedString = encode.convert({
string: stringInput,
inputEncoding: encode.Encoding.UTF_8,
outputEncoding: encode.Encoding.BASE_64
});
var auth = 'Basic ' + base64EncodedString;
var _headers = false;
_headers = {
'Accept': 'application/json',
'authorization': auth
};
var url_ = 'https:/..../api/auth/token';
var auth_resp = https.get({
url: url_,
headers: _headers
});
if (auth_resp.code == 200) {
return JSON.parse(auth_resp.body);
}