NetSuite:如何使http请求发送cookie?

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

我需要调用外部API从SuiteScript文件中获取一些数据,我遇到了一个问题。GET调用需要带有凭据(基本上,它必须带有请求头中的cookie)

如果我从chrome控制台设置
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打的,所以我认为没有办法发送这些信息,是吗?