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

Uploading a file to Netsuite using Node.js

所以我正在测试 npm 模块附带的脚本,该模块会将 NetSuite 文件上传到文件柜。 这是 npm 模块 nsupload 的 link。说明书上说要把模块中包含的Restlet上传到Netsuite中,在Netsuite中的PUT方法中设置RESTlet中的函数。当我 运行 我端的脚本将文件上传到 Netsuite 文件柜时,我收到错误 "TypeError: sendToNetsuite is not a function."

这是模块提供的测试代码:

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 - That Suitelet is invalid, disabled, or no longer exists." 我也已将随附的 Restlet 上传到 Netsuite,但问题仍然存在。

同样,我已经查找了错误,但我仍然没有弄清楚问题是什么。我尝试在我想使用的代码中测试代码,并在它不起作用时单独测试代码。有解决这个问题的想法吗?

谢谢!

输出console.log(检查(sendToNetsuite));它未定义或不是函数。回购协议在这里是私人的 https://github.com/truecloud-com/nsupload -- 也许可以联系 TrueCloud/Netsuite 无论如何。

将您的 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
}))