无法使用Suitelet脚本2.0连接netsuite中的其他服务器

无法使用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

我是新的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 */


}))

到目前为止你尝试了什么?发布你已经拥有的脚本。这将有助于人们通过验证您的代码来帮助您。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
};