,我想发生什么,
我希望能够从传递记录id的用户事件中调用Suitelet。
当前发生的事情
不是抛出"INSUFFICIENT_PERMISSION“错误,就是没有抛出错误,但是没有调用手提箱。
The Details
嘿,所有的人,我试着从一个用户活动中打电话给一个行李箱。我们使用一些数据创建了一个记录,在用户事件中创建该记录时,我希望创建一个客户和销售订单。我还需要这些记录的用户事件来触发。我知道一个用户事件不能触发另一个用户事件,所以我已经写了一个行李箱来调用,这将进行处理。我试着用下面的代码打电话给行李箱。
var scheme = 'https://';
var host = url.resolveDomain({
hostType: url.HostType.APPLICATION
});
var suitletURL = url.resolveScript({
scriptId : 'customscript_pws_sl_data',
deploymentId : 'customdeploy_pws_sl_data'
});
var parameters = {
dataid : scriptContext.newRecord.id,
};
log.debug("URL", scheme + host + suitletURL);
var response = https.post({
url : scheme + host + suitletURL + "&dataid=" + scriptContext.newRecord.id,
body : parameters
});使用此代码,不会引发错误,但也不会触发Suitelet。我知道这一点,因为一旦我的行李箱触发,我就会记录“跑”。
log.debug("Running");
var user = runtime.getCurrentUser();
var script = runtime.getCurrentScript();
// Get parameters
var params = context.request.parameters;
log.debug("Context", JSON.stringify(context.request));
log.debug("Params", JSON.stringify(params));现在,我正在记录用户事件正在使用的URL,如果我将其复制并粘贴到浏览器中,将运行suitelet。所以我知道URL是正确的。
我试过什么
我尝试过添加
returnExternalUrl: true参数的https调用。使用这个,调用Suitelet,但是我可以错误地声明
"type":"error.SuiteScriptError","name":"INSUFFICIENT_PERMISSION","message":"Permission Violation: You need the 'Lists -> Items' permission to access this page. Please contact your account administrator.","stack":["createError(N/error)","getOrderLines(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:972)","processData(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:109)","onRequest(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_sl_ecommdata.js:40)"],"cause":{"type":"internal error","code":"INSUFFICIENT_PERMISSION","details":"Permission Violation: You need the 'Lists -> Items' permission to access this page. Please contact your account administrator.","userEvent":null,"stackTrace":["createError(N/error)","getOrderLines(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:972)","processData(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_lib_ecommerce.js:109)","onRequest(/SuiteScripts/PWS Additional Modules/Additional Modules/Ecommerce Data/pws_sl_ecommdata.js:40)"],"notifyOff":false},"id":"","notifyOff":false,"userFacing":false}套件部署设置为“无登录可用:真”和“所有角色:真”
更新
I am getting You must login before accessing this page.我正在登录并从一个UserEvent调用它
发布于 2019-10-04 00:21:04
将User事件和Suitelet都设置为在Administrator模式下运行,并使用"returnExternalUrl: true“设置解决了这个问题:)
var suitletURL = url.resolveScript({
scriptId : 'customscript_pws_sl_data',
deploymentId : 'customdeploy_pws_sl_data',
returnExternalUrl : true
});https://stackoverflow.com/questions/58227399
复制相似问题