使用Node.js将文件上载到Netsuite

时间:2016-09-28 03:31:15

标签: javascript node.js rest npm netsuite

所以我正在测试一个带有npm模块的脚本,它将NetSuite文件上传到文件柜。 这是一个名为nsupload的npm模块的链接。说明说将模块中包含的Restlet上传到Netsuite,并在Netsuite的PUT方法中设置RESTlet中的函数。当我在我的端部运行脚本将文件上传到Netsuite文件柜时,我得到错误" TypeError:sendToNetsuite不是一个函数。"

以下是模块提供的测试代码:

var sendToNetsuite = require('nsupload')
  .config({
    email: 'email',
    password: 'pass',
    account: 'account number',
    script: 'script number',
    method: 'PUT'
  });

sendToNetsuite('./foo.json', function(err, body) {
  console.log('Success!');
  console.log(body);
});

编辑: 我将我正在使用的npm模块更改为名为nscabinet的模块。这个stoo带有一个示例代码,用于将文件上传到Netsuite。这是代码:

var nscabinet = require('nscabinet') ,
gulp = require('gulp') //or just vinyl-fs 


gulp.src('foo.js')
    .pipe(nscabinet({
        email : 'foo@bar.baz.com' ,
        password : '123456' ,
        account : '123456' ,
       // realm : 'sandbox.netsuite.com' ,
        //role : 3 ,
        rootPath : '/SuiteScripts',
        script : 'myuploadfile' ,
        deployment : 2
    }))

我遗漏了一些参数,但我不相信它们有所作为。目前我一直得到的错误是" SSS_INVALID_SCRIPTLET_ID - 该Suitelet无效,已禁用或已不存在。"我已经将随附的Restlet上传到Netsuite,但问题仍然存在。

同样,我已查找错误,但我仍然无法弄清问题是什么。我尝试在我想要使用的代码中测试代码,并且当它没有工作时自己测试。有关解决这个问题的任何想法吗?

谢谢!

2 个答案:

答案 0 :(得分:4)

将您的script选项更改为您上传到NetSuite的Restlet的script ID。

gulp.src('foo.js')
.pipe(nscabinet({
    email : 'foo@bar.baz.com' ,
    password : '123456' ,
    account : '123456' ,
   // realm : 'sandbox.netsuite.com' ,
    //role : 3 ,
    rootPath : '/SuiteScripts',
    script : 1234 ,
    deployment : 2
}))

答案 1 :(得分:0)

输出console.log(inspect(sendToNetsuite));它没有定义或不是函数。回购在这里是私人的https://github.com/truecloud-com/nsupload - 也许可以联系TrueCloud / Netsuite。