NetSuite:如何使http请求发送cookie?
我需要调用外部API从SuiteScript文件中获取一些数据,我遇到了一个问题。GET调用需要带有凭据(基本上,它必须带有请求头中的cookie) 如果我从chrome控制台设置NetSuite:如何使http请求发送cookie?,netsuite,suitescript,suitescript2.0,Netsuite,Suitescript,Suitescript2.0,我需要调用外部API从SuiteScript文件中获取一些数据,我遇到了一个问题。GET调用需要带有凭据(基本上,它必须带有请求头中的cookie) 如果我从chrome控制台设置withCredentials=true进行API调用,但是当我通过https.get()使用NetSuite N/https模块进行API调用时,cookie不会出现在请求头上 总之,我正在寻找一种方法来设置http.get()调用上的withCredentials=true,或者以某种方式从我的SuiteScrip
withCredentials=true
进行API调用,但是当我通过https.get()
使用NetSuite N/https模块进行API调用时,cookie不会出现在请求头上
总之,我正在寻找一种方法来设置http.get()
调用上的withCredentials=true
,或者以某种方式从我的SuiteScript中获取Cookie,以便我可以在调用的标题
选项中手动设置它
提前感谢您的时间 在get中,传递headers选项并填充头值。我相信这些是KVP。在get中,传递headers选项并填充您的header值。我相信这些都是KVP。如果您的外部应用程序需要有关登录用户的信息,那么您可能需要执行一个XHR请求(jQuery的$.getJSON将是您的最佳选择)。如果需要将信息传递给服务器端脚本,则可以使用返回的数据调用Suitelet 下面是一个post示例。请注意以下内容:
$.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));
}
});
如果您的外部应用程序需要有关登录用户的信息,那么您可能需要执行一个XHR请求(jQuery的$.getJSON将是您的最佳选择)。如果需要将信息传递给服务器端脚本,则可以使用返回的数据调用Suitelet 下面是一个post示例。请注意以下内容:
$.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));
}
});
不幸的是,我不认为这会有帮助。请看,我想在HTTP调用中发送浏览器cookie,但我可以看到,当我使用https.get()时,不是我的浏览器在进行调用,而是NetSuite在内部进行调用。我不知道如何才能让我的本地饼干在电话中继续…不幸的是,我不认为这会有帮助。请看,我想在HTTP调用中发送浏览器cookie,但我可以看到,当我使用https.get()时,不是我的浏览器在进行调用,而是NetSuite在内部进行调用。我不知道怎样才能让我的本地饼干在那个电话里继续…你的问题不清楚。您的浏览器位于Netsuite页面上;NS托管网站页面还是外部托管网站页面?您是否试图将会话从外部系统传递到Suitelet,以便Suitelet可以在您登录时登录?如果您已登录到外部站点,然后返回netsuite,希望将该站点的cookie传递给netsuite,那么您无法轻松做到这一点。对于开发人员来说,使用Chrome inspector获取会话id,然后手动将其粘贴到Suitelet页面的一个字段中是很简单的,但这不是用户级别的活动。如果不够清楚,我很抱歉。让我再详细解释一下。我正在致力于将NetSuite与外部应用程序集成。为此,我有一个Suitelet,它对外部应用程序执行一些API调用,以在返回要呈现的内容之前检查有关已登录用户的一些信息。我通过使用https使用N/https模块进行所有这些调用。get()。我面临的问题是,其中一个调用需要浏览器上的cookie。因为这些电话是从Suitelet打来的,我认为没有办法发送这些信息,是吗?你的问题不清楚。您的浏览器位于Netsuite页面上;NS托管网站页面还是外部托管网站页面?您是否试图将会话从外部系统传递到Suitelet,以便Suitelet可以在您登录时登录?如果您已登录到外部站点,然后返回netsuite,希望将该站点的cookie传递给netsuite,那么您无法轻松做到这一点。对于开发人员来说,使用Chrome inspector获取会话id,然后手动将其粘贴到Suitelet页面的一个字段中是很简单的,但这不是用户级别的活动。如果不够清楚,我很抱歉。让我再详细解释一下。我正在致力于将NetSuite与外部应用程序集成。为此,我有一个Suitelet,它对外部应用程序执行一些API调用,以在返回要呈现的内容之前检查有关已登录用户的一些信息。我通过使用https使用N/https模块进行所有这些调用。get()。我面临的问题是,其中一个调用需要浏览器上的cookie。因为这些电话是从Suitelet打的,所以我认为没有办法发送这些信息,是吗?