我有一个内部的Suitelet(至少我认为我做的...对Suitelets来说是新手,它是在NetSuite中托管的)。我尝试使用内部URL作为我的restlet,但每次我这样做,我都会收到一个错误,我需要一个完全限定的http来调用URL。如果我使用外部URL,它可以工作,但只有我在标题中传递我的凭据。
有没有办法获取用户的凭据?或者实际使用内部网址并将当前用户的角色保留在内部? restlet创建记录,我宁愿所有者是执行操作的用户而不是我。
谢谢!
答案 0 :(得分:1)
使用内部网址时,最好使用网址模块中的url.resolveScript
将外部或内部网址字符串返回给脚本。
var output = url.resolveScript({
scriptId: 'custom_script',
deploymentId: 'custom_script_deployment',
returnExternalUrl: false
});
在HTTPS模块中使用HTTPS请求发送请求
对于从外部客户端调用的RESTlet,您可以使用OAuth或 HTTP授权标头中的NetSuite特定方法NLAuth。 OAuth使用基于令牌的身份验证(TBA)来访问资源 代表用户,无需共享登录凭据 例如用户名和密码。请参阅授权中的使用OAuth 报头中。
NLAuth传递NetSuite登录凭据,例如公司ID,用户 名称,密码和角色。请参阅授权中的使用NLAuth 报头中。
对于从同一NetSuite托管的客户端调用的RESTlet 托管RESTlet的帐户,您无需通过 HTTP请求中的身份验证信息。检查所有有效 发生NetSuite会话cookie,并重复使用此现有会话。
了解更多 信息见Authentication for RESTlets