Netsuite内部URL内容调用
我正在写一个脚本,想从URL请求中读取内容Netsuite内部URL内容调用,netsuite,suitescript,scriptlet,Netsuite,Suitescript,Scriptlet,我正在写一个脚本,想从URL请求中读取内容 但它不是读取内容,而是登录页面并登录初始登录页面。知道怎么读吗 NetSuite不支持您正在执行的操作。APIRL不是一个NetSuite端点,您可以从NetSuite外部调用它并获得响应。这是完全可以做到的。问题是您没有提供任何授权。如果不想获得登录页面,则必须提供授权标头。我已经在下面更新了您的代码(并且测试没有问题,除了我不相信该页面将显示为XML?)。只需添加正确的身份验证信息 require(['N/record','N/https'],fu
但它不是读取内容,而是登录页面并登录初始登录页面。知道怎么读吗 NetSuite不支持您正在执行的操作。APIRL不是一个NetSuite端点,您可以从NetSuite外部调用它并获得响应。这是完全可以做到的。问题是您没有提供任何授权。如果不想获得登录页面,则必须提供授权标头。我已经在下面更新了您的代码(并且测试没有问题,除了我不相信该页面将显示为XML?)。只需添加正确的身份验证信息
require(['N/record','N/https'],function(record,https){
function test(){
var header=[];
header['Content-Type']='text/xml';
header['Authorization']='NLAuth nlauth_account=NETSUITEACCOUNT,nlauth_email=LOGINEMAIL,nlauth_signature="LOGINPASSWORD",nlauth_role=3'
var apiURL='https://system.na2.netsuite.com/app/setup/upload/csv/csvstatus.nl?xml=T';
var response=https.get({
url:apiURL,
headers:header
});
log.debug('response.body',JSON.stringify(response.body));
}
test();
});
这是否为您提供了所需的答案?它可能会起作用,但我想说的是,NS不支持这样做。如果NS发现存在漏洞,他们可能会将其删除,而您的解决方案将无法工作。此外,您可能违反了NS的条款和协议,其中某个地方说您只能使用基于其产品的功能。xml=t实际上仅供NS内部使用,不应公开。但他们不能阻止前NS员工使用和传播这个词。如果您以内部开发人员的身份向客户提供解决方案,这应该没问题,因为您可以修复它(如果可能),但如果您的解决方案不可用,那么如果由于NS删除了该漏洞而停止工作,则对客户不利。这是一个“使用它的风险自负”的问题,正如我们经常对开发NS不支持的东西的客户所说的那样(当我还在支持时)。xml=T不仅供内部NetSuite员工使用。。。?甚至在SuiteWorld今年的一次演讲中,他们提到使用它可以更容易地从页面上获取记录数据(类似于Arindam所做的)。而且,这绝对不是一种利用。利用漏洞是完全不同的,甚至与您错误地声明xml=T是什么完全不同当我支持时,我们不允许共享xml=T,这大约是在2010-2013年。他们提供了xml=t,这是一件好事。我正在尝试从内部ScriptLet调用APIRL。你认为这是可以实现的任何其他方式。。。
require(['N/record','N/https'],function(record,https){
function test(){
var header=[];
header['Content-Type']='text/xml';
header['Authorization']='NLAuth nlauth_account=NETSUITEACCOUNT,nlauth_email=LOGINEMAIL,nlauth_signature="LOGINPASSWORD",nlauth_role=3'
var apiURL='https://system.na2.netsuite.com/app/setup/upload/csv/csvstatus.nl?xml=T';
var response=https.get({
url:apiURL,
headers:header
});
log.debug('response.body',JSON.stringify(response.body));
}
test();
});