我正在尝试从客户端脚本访问NetSuite RESTlet,而无需对身份验证数据进行硬编码。 NetSuite文档说“对于从NetSuite托管的客户端调用的RESTlet,您不需要在HTTP请求中传递身份验证信息。检查是否有有效的NetSuite会话(JSESSIONID),并重新使用此现有会话。” SuiteAnswers的另一部分文档说“至于第二个选项[使用JSESSIIONID cookie],这通常用于发送多个会话。但是要使用它,你必须至少完成一次NLAuth身份验证。”
不用说我很困惑。我还没有看到任何使用JSESSIONID进行RESTlet身份验证的示例。我自己尝试过,但是没有用。
function getCookie(name) {
var re = new RegExp(name + "=([^;]+)");
var value = re.exec(document.cookie);
return (value != null) ? unescape(value[1]) : null;
}
var sessionId = getCookie("JSESSIONID");
var headers = {"Cookie": "JSESSIONID=" + sessionId ,
"Content-Type": "application/json"};
我检查了sessionId变量,看起来不错。当我对身份验证进行硬编码并使用nlAuth时,它工作正常。我不确定为什么这不起作用,除非文档中的上述第二个陈述是准确的。有没有其他人只使用JSESSIONID验证NetSuite RESTlet?
我想出来了。这是可能的,您必须使用相对URL。在寻找答案时我一直错过了这个建议。
答案 0 :(得分:0)
我想出来了。这是可能的,您必须使用相对URL。在寻找答案时,我一直错过了这个建议。