Netsuite Suitelet - 有效会话
Netsuite Suitelet - Valid Session
我是 NS Suitelet 脚本的新手。
我已经创建了一个外部和内部 suitelet,然后都进行了部署。
对于外部套件 (loginform.js):
- 我使用 https://rest.netsuite.com/rest/roles 并从表单中输入用户名和密码。
- 我收到响应代码 200 和 NS returns 用户凭据。
- 在 post 上,我使用
nlapiRequestURL(url)
,其中 url
是内部套件的端点
内部套件 (verify.js)
- 一个简单的函数
{ var login = nlapiGetLogin(); }
- 因此,如果登录不为空,则用户已登录
因此,如果我登录到 Netsuite 并执行内部套件,我将获得有效的登录对象。
但是如果外部suitelet调用内部suitelet,会抛出权限访问错误。
我在这里错过了什么?我知道我可能没有 "valid session".
我看到这个 "valid session" 在开发人员指南中提到了很多,但它没有解释如何创建或获取此会话。
请帮助我创建或获取这个有效的 NS 会话。
内部 Suitelets 要求用户进行身份验证。在这种情况下,外部 suitelet(Netsuite) 正在调用内部 Suitelet(也是 Netsuite),并且由于外部 suitelet 从未经过身份验证,因此不会加载。 Suitelets 的身份验证过程旨在供浏览器使用,因为它 运行 在 Web 界面上安装 cookie。
您需要将两个 Suitelet 设为外部以便它们可以相互调用,您可能需要添加身份验证 header 以保护连接。
或者,我建议只使用一个内部 suitelet,并让 Netsuite 处理 login/auth,方法是将用户设置为客户,授予他们访问权限并使 Suitelet 部署可用于客户角色。您甚至可以通过以管理员身份将 Suitelet 设置为 运行 来绕过客户权限。如果您不希望每个客户都可以访问 Suitelet,那么只需在客户记录上设置一个自定义字段以指示用户是否可以访问它。
我是 NS Suitelet 脚本的新手。
我已经创建了一个外部和内部 suitelet,然后都进行了部署。
对于外部套件 (loginform.js):
- 我使用 https://rest.netsuite.com/rest/roles 并从表单中输入用户名和密码。
- 我收到响应代码 200 和 NS returns 用户凭据。
- 在 post 上,我使用
nlapiRequestURL(url)
,其中url
是内部套件的端点
内部套件 (verify.js)
- 一个简单的函数
{ var login = nlapiGetLogin(); }
- 因此,如果登录不为空,则用户已登录
因此,如果我登录到 Netsuite 并执行内部套件,我将获得有效的登录对象。
但是如果外部suitelet调用内部suitelet,会抛出权限访问错误。
我在这里错过了什么?我知道我可能没有 "valid session".
我看到这个 "valid session" 在开发人员指南中提到了很多,但它没有解释如何创建或获取此会话。
请帮助我创建或获取这个有效的 NS 会话。
内部 Suitelets 要求用户进行身份验证。在这种情况下,外部 suitelet(Netsuite) 正在调用内部 Suitelet(也是 Netsuite),并且由于外部 suitelet 从未经过身份验证,因此不会加载。 Suitelets 的身份验证过程旨在供浏览器使用,因为它 运行 在 Web 界面上安装 cookie。
您需要将两个 Suitelet 设为外部以便它们可以相互调用,您可能需要添加身份验证 header 以保护连接。
或者,我建议只使用一个内部 suitelet,并让 Netsuite 处理 login/auth,方法是将用户设置为客户,授予他们访问权限并使 Suitelet 部署可用于客户角色。您甚至可以通过以管理员身份将 Suitelet 设置为 运行 来绕过客户权限。如果您不希望每个客户都可以访问 Suitelet,那么只需在客户记录上设置一个自定义字段以指示用户是否可以访问它。