所以我正在测试一个带有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,但问题仍然存在。
同样,我已查找错误,但我仍然无法弄清问题是什么。我尝试在我想要使用的代码中测试代码,并且当它没有工作时自己测试。有关解决这个问题的任何想法吗?
谢谢!
答案 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。