来自SuiteLet客户端的NetSuite RestLet调用

来自SuiteLet客户端的NetSuite RestLet调用,netsuite,Netsuite,我正在尝试从另一个SuiteScript调用RestLet webservice/URL。据我所知,我需要使用http/https模块来实现这一点。但我找不到这样做的例子或步骤 计划在SS2.0中使用此代码- var response = http.post({ url: 'https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=601&deploy=1', body: myDataObj, // json obj

我正在尝试从另一个SuiteScript调用RestLet webservice/URL。据我所知,我需要使用http/https模块来实现这一点。但我找不到这样做的例子或步骤

计划在SS2.0中使用此代码-

var response = http.post({
url: 'https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=601&deploy=1',
body: myDataObj, // json object
headers: headerObj // json obj
});
下面的代码适用于我

            var nameValue = "arin";
            var myDataObj = {
                "name" : nameValue
            };
            var myRequest = {};
            myRequest.headers = {};
            myRequest.headers["Authorization"] = 'NLAuth nlauth_account=TSTDRV158xxxx,nlauth_email=XXXX,nlauth_signature=XXXX,nlauth_role=3';
            myRequest.headers["Content-Type"] = 'application/json';
            myRequest.headers["Accept"] = '*/*';
            myRequest.url = 'https://rest.na1.netsuite.com/app/site/hosting/restlet.nl?script=601&deploy=1'; // RESTlet
                                                                                                                // URL
            myRequest.method = "POST";
            myRequest.body = JSON.stringify(myDataObj);
            // myRequest.body = myDataObj;
            var myResponse = https.post(myRequest);
并读取JSON返回的响应数据

        log.debug("Resonse", myResponse.body);
        log.debug("Resonse", myResponse.code);          
        var data = myResponse.body;             
        var retObj = JSON.parse(data);              
        log.debug("Resonse Ret city - ", retObj.city);

下面是一个基本的例子,说明如何做到这一点:

var myRequest = {};
myRequest.headers = {};
myRequest.headers["Authorization"] = 'NLAuth nlauth_account=TSTDRVXXXXX, nlauth_email=xxx@xxx.com, nlauth_signature=XXXXXXX, nlauth_role=3';
myRequest.headers["contentType"] = 'application/json';
myRequest.url = 'https://XXXXXXXXX'; //RESTlet URL
myRequest.body = myDataObj;
var myResponse = https.post(myRequest);

在客户端脚本上公开此内容时要小心。您不想公开您的凭据。

以下是一个基本的示例:

var myRequest = {};
myRequest.headers = {};
myRequest.headers["Authorization"] = 'NLAuth nlauth_account=TSTDRVXXXXX, nlauth_email=xxx@xxx.com, nlauth_signature=XXXXXXX, nlauth_role=3';
myRequest.headers["contentType"] = 'application/json';
myRequest.url = 'https://XXXXXXXXX'; //RESTlet URL
myRequest.body = myDataObj;
var myResponse = https.post(myRequest);

在客户端脚本上公开此内容时要小心。您不想公开您的凭据。

谢谢。。。工作如预期。。。我正在更新代码。返回数据时发现问题。。。如果服务器以“JSON.stringify(retObj)”的形式返回数据,那么我需要在客户端解析2次以获取数据var data=JSON.parse(myResponse.body);var retObj=JSON.parse(数据);log.debug(“Resonse Ret data-”,data.city);log.debug(“Resonse Ret Ret-”,retObj.city);`第一个城市没有价值。。。第二个给…有什么问题吗?您已经获得了所需的数据。是的。。。我正在获取数据。我看到的问题是,当使用来自谁的服务时,使用stringify而不是obj prop{}发送数据。只是想知道我是否能找到一种方法来解决这个问题。。。工作如预期。。。我正在更新代码。返回数据时发现问题。。。如果服务器以“JSON.stringify(retObj)”的形式返回数据,那么我需要在客户端解析2次以获取数据var data=JSON.parse(myResponse.body);var retObj=JSON.parse(数据);log.debug(“Resonse Ret data-”,data.city);log.debug(“Resonse Ret Ret-”,retObj.city);`第一个城市没有价值。。。第二个给…有什么问题吗?您已经获得了所需的数据。是的。。。我正在获取数据。我看到的问题是,当使用来自谁的服务时,使用stringify而不是obj prop{}发送数据。我只是想知道我是否也能找到一个解决这个问题的方法