无法使用Suitelet脚本2.0连接netsuite中的其他服务器
我是新的Netsuite脚本。我创建了Suitelet脚本并尝试从Netsuite连接其他SFTP服务器。我无法连接其他服务器。请告诉我如何操作。请查找下面的脚本。 /** *@NApiVersion 2.0 *@NScriptType Suitelet *@NModuleScope SameAccount */ 定义(['N/ui/serverWidget','N/search','N/render','N/runtime','N/file','N/task','N/sftp'], 功能(ui、搜索、渲染、运行时、文件、任务、sftp){ /** *suitelet的主要功能 *@param{object}ctx */无法使用Suitelet脚本2.0连接netsuite中的其他服务器,netsuite,Netsuite,我是新的Netsuite脚本。我创建了Suitelet脚本并尝试从Netsuite连接其他SFTP服务器。我无法连接其他服务器。请告诉我如何操作。请查找下面的脚本。 /** *@NApiVersion 2.0 *@NScriptType Suitelet *@NModuleScope SameAccount */ 定义(['N/ui/serverWidget','N/search','N/render','N/runtime','N/file','N/task','N/sftp'], 功能(ui
})) 到目前为止你尝试了什么?发布你已经拥有的脚本。这将有助于人们通过验证您的代码来帮助您。1。我使用Suitelet脚本为第三方服务器生成了密码GUID。2.PasswordGuid的值传递到计划脚本(在脚本中提及主机密钥、目录、用户名)/***@NApiVersion 2.0*@NScriptType Suitelet*@NModuleScope SameAccount*/define(['N/ui/serverWidget','N/log','N/https','N/redirect','N/task','N/record','N/runtime','N/sftp'N/file'],函数(serverWidget、日志、重定向、任务、记录、运行时、sftp、文件){function onRequest(上下文){var method=context.request.method;var response=context.response;var request=context.request;if(context.request.method=='GET'){var form=serverWidget.createForm({title:'Enter sftp Credentials});form.addField({id:'username',type:serverWidget.FieldType.TEXT,label:'username'}.isMandatory=true;var credField=form.addCredentialField({id:'custfield_sftp_password_token',label:'sftp password',restrictToScript:['customscript u custsuittelet_script_sftp'],///它是suitelet scriptid restrictToDomains:['serverName.domain.com'],restrictToCurrentUser:true}).isMandatory=true;credField.maxLength=64;form.addSubmitButton();}var request=context.request;
function onRequest(ctx) {
var req = ctx.request;
var res = ctx.response;
var param = req.parameters;
/**
* create form is creating the UI for report generation
*/
if (req.method === 'GET') {
// createForm(req, res, param);
createForm(req, res, param);
} else {
generateReport(req, res, param);
}
}
// R E Q U E S T
function createForm(req, res, param) {
if (req.method === 'GET') {
var form = ui.createForm({
title: 'Enter SFTP Credentials'
});
var username = form.addField({
id: 'username',
type: ui.FieldType.TEXT,
label: 'Username'
});
username.isMandatory = true;
var pwd = form.addCredentialField({
id: 'custfield_sftp_password_token',
label: 'SFTP Password',
restrictToScriptIds: ['customscript_custsuitelet_script_sftp'],
restrictToDomains: ['irpt-rtp-stg-01.cisco.com'],
restrictToCurrentUser: true //Depends on use case
});
pwd.isMandatory = true;
pwd.maxLength = 64;
form.addSubmitButton({
label: 'Generate Report'
});
res.writePage(form);
}
}
// R E S P O N C E
function generateReport(req, res, param) {
var param = req.parameters.custfield_sftp_password_token;
log.debug('parameters', param);
var myPwdGuid = param;
var myHostKey = "AAAAB3NzaC1yc2EAAAABIwAAAQEA3DWUmOtLSpDew5Qryvx7OgCvGk2IjlbniOcozkYGG6ZbbFeQRyAbFOxMudPnr8FUM6Qr9AxiHC5KkF9STgw6ivmJK/aEKkRJQm3rCN6VRi7l8i5CtoU/d2UnuZv2WrjNv36xpbQ7O7PtAtB8Dbly0sC7n6Wpp8ia1dHR7RVpG01oHSLkBDAoDo9wpDBDKFYoX3UxvqRoYVXNTqqYWzwwPcpLZq7Kvx/XzXCzDZuQxfXURgbYibAfD1IG45lmCmASEScK++H5bSLMr4l3tYRkBVCL8MKLoDSCgJd2bhXozzknwryOtDJ3ijoic5r3lbHCR/Nde6UrGFzVRsOfS5LlDw==";
var connection = sftp.createConnection({
username:username,
passwordGuid: myPwdGuid,
url: 'sftp://hostname/users/username',
directory: '/',
hostKey: myHostKey
});
log.debug('parameters', connection);
//var passwordToken = req.parameters.customscriptrun_schedule_script_after;
/*var script = runtime.getCurrentScript();
var filters = {
custscript_sftp_password_token: param
};
log.debug('filters', filters);
var scriptTask = task.create({ taskType: task.TaskType.SCHEDULED_SCRIPT });
// scriptTask.scriptId = 3920;
scriptTask.scriptId = 'customscriptrun_schedule_script_after';
scriptTask.deploymentId = 'customdeployrun_schedule_scrpt_after';
scriptTask.params ={
custscript_sftp_password_token: JSON.stringify(filters)
};
log.debug('workingtillhere');
var scriptTaskId = scriptTask.submit();
res.write("Your script is scheduled.")*/
}
return {
onRequest: onRequest
};