Netsuite Suitelet - 有效会话

时间:2017-01-15 03:48:02

标签: netsuite suitescript

我是NS Suitelet脚本的新手。

我创建了一个外部和内部的suitelet,然后部署了这两个。

对于外部suitelet(loginform.js):

  • 我使用https://rest.netsuite.com/rest/roles并从表单中传入用户名和密码。
  • 我收到响应代码200,NS返回该用户的凭据。
  • 在帖子上我使用#pagewrap其中nlapiRequestURL(url)是内部suitelet的端点

对于内部suitelet(verify.js)

  • 一个简单的函数url
  • 因此,如果login不为null,则用户已登录

因此,如果我登录Netsuite并执行内部suitelet,我将获得有效的登录对象。

但是如果外部suitelet调用内部suitelet,它将引发权限访问错误。

我在这里缺少什么?我知道我可能没有“有效会话”。

我在开发人员指南中看到了很多“有效会话”,但它没有解释如何创建或获取此会话。

请帮我创建或获取此有效的NS会话。

1 个答案:

答案 0 :(得分:0)

内部Suitelet要求用户进行身份验证。在这种情况下,外部suitelet(Netsuite)正在调用内部Suitelet(也称为Netsuite),并且由于外部suitelet从未经过身份验证,因此无法加载。 Suitelets的身份验证过程旨在供浏览器在Web界面上运行并安装cookie时使用。

您需要将两个Suitelet设置为外部,以便它们可以相互呼叫,您可能需要添加身份验证标头以保护连接。

或者我建议只使用一个内部套件,并让Netsuite通过将用户设置为客户来处理登录/身份验证,为他们提供访问权限,并使Suitelet部署可用于客户角色。您甚至可以通过将Suitelet设置为以管理员身份运行来绕过客户权限。如果您不希望每个客户都有权访问Suitelet,那么只需在客户记录中设置一个自定义字段,以指示用户是否有权访问它。