来自SuiteLet客户端的NetSuite RestLet调用
我正在尝试从另一个SuiteScript调用RestLet webservice/URL。据我所知,我需要使用http/https模块来实现这一点。但我找不到这样做的例子或步骤 计划在SS2.0中使用此代码-来自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
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{}发送数据。我只是想知道我是否也能找到一个解决这个问题的方法