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

3
我正在测试一个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的模块。这个模块附带了一个上传文件到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,但问题仍然存在。
再次说明,我已经查找了这个错误,但我仍然没有弄清楚问题所在。当它不起作用时,我尝试在我想使用的代码中测试代码本身。有关解决此问题的任何想法吗?
谢谢!

你曾经成功使用DL功能吗?我用CLI可以,但我想要通配符*功能,但似乎CLI不支持。 - nzaleski
@nzaleski 我从未测试过下载功能,但 CLI 对我来说不起作用。我不确定原因,但由于对我来说并不必要,所以这不是问题。 - VicDid
目前为止,这两个库都不再维护,npm表示它们存在安全漏洞,而Oracle为NodeJS提供了官方的NetSuite SDK。 - undefined
2个回答

4

将您的脚本选项更改为您上传到NetSuite的Restlet的脚本 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
}))

很有帮助!现在模块似乎正在与Netsuite交互,现在我从Netsuite收到了关于restlet调用“SSS_MISSING_REQD_ARGUMENT - type”的错误。此外,我尝试上传的文件是一个json文件。 - VicDid
2
nscabinet不支持JSON,但是如果您编辑Restlet并将json:'JSON'添加到EXT_TYPES对象中,它将起作用。 - Rich Long
这个可行,谢谢!上传的JSON文件已经加密了,我需要处理一下,但是你的答案解决了问题。 - VicDid

0

啊,我明白了。我开始使用一个不同的模块,但是我遇到了错误:“SSS_INVALID_SCRIPTLET_ID - 该Suitelet无效、已禁用或不存在。”我会在我的问题中更新细节。 - VicDid

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接