我需要调用外部API来从SuiteScript文件中获取一些数据,而且我遇到了问题。 GET调用需要使用凭证(基本上,它必须与请求标头中的cookie一起使用)。
如果我从Chrome控制台设置withCredentials = true
进行API调用,但是当我使用NetSuite N / https模块进行API调用时 - 通过https.get()
- Cookie不会继续请求报头中。
总而言之,我正在寻找一种方法在withCredentials = true
电话上设置http.get()
,或者能够以某种方式从我的SuiteScript中获取Cookie,以便我可以手动将其设置为呼叫的header
选项。
提前感谢您的时间!
答案 0 :(得分:2)
在get中,传递headers选项并填充标题值。我相信这些是KVP。
答案 1 :(得分:0)
如果您的外部应用程序期望有关登录用户的信息,那么您可能想要做的是XHR请求(jQuery的$ .getJSON将是您最好的选择)。如果您需要将信息传递到服务器端脚本,那么您将使用返回的数据调用您的Suitelet。
后一个例子如下。请注意withCredentials:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: url,
dataType: "json",
data: jsonData,
xhrFields: {
withCredentials: true
},
success: function(response){
console.log(response);
},
error: function(response){
console.log('error: ' + JSON.stringify(response));
}
});