2016-09-28 3 views
2

NetSuite 파일을 파일 캐비닛에 업로드하는 npm 모듈과 함께 제공되는 스크립트를 테스트하고 있습니다. 여기에 nsupload이라는 npm 모듈에 대한 링크가 있습니다. 지시 사항은 모듈에 포함 된 Restlet을 Netsuite에 업로드하고 Netsuite의 PUT 메소드에서 RESTlet의 기능을 설정한다고 설명합니다. 마지막으로 스크립트를 실행하여 Netsuite 파일 캐비닛에 파일을 업로드하면 "TypeError : sendToNetsuite가 함수가 아닙니다."오류가 발생합니다. 여기 Node.js를 사용하여 Netsuite에 파일 업로드

모듈 공급 테스트 코드이다

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); 
}); 

EDIT : 내가 nscabinet라는 하나 I 사용 된 NPM 모듈을 바꿨다. 이 stoo는 Netsuite에 파일을 업로드하기위한 샘플 코드와 함께 제공됩니다. 여기 것과 코드입니다 : 내가 몇 가지 매개 변수를 남겨

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


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

하지만 나는 그들이 변화를 믿지 않는다. 현재 내가 계속 받고있는 오류는 "SSS_INVALID_SCRIPTLET_ID - 해당 Suitelet이 유효하지 않거나 사용 중지되었거나 더 이상 존재하지 않습니다." Netsuite와 함께 제공된 Restlet을 업로드했지만 문제는 계속 발생합니다.

다시 오류를 찾았지만 여전히 문제가 무엇인지 알지 못했습니다. 나는 코드가 작동하기를 원할 때 코드 내에서 테스트를 시도했다. 이 문제를 해결하기위한 아이디어가 있습니까?

감사합니다.

+0

DL 기능을 작동시킬 수 있었던 적이 있었습니까? CLI를 사용했지만 CLI (와일드 카드 * 기능)를 원했으며 CLI와 함께 표시되지 않습니다. – nzaleski

+0

@nzaleski CLI는 다운로드 기능을 테스트 한 적이 없지만 CLI가 제대로 작동하지 않았습니다. 왜 그런지 잘 모르겠고 나에게 필요하지 않았기 때문에 문제가 아니 었습니다. – VicDid

답변

3

script 옵션을 NetSuite에 업로드 한 Restlet의 script ID로 변경하십시오.

gulp.src('foo.js') 
.pipe(nscabinet({ 
    email : '[email protected]' , 
    password : '123456' , 
    account : '123456' , 
    // realm : 'sandbox.netsuite.com' , 
    //role : 3 , 
    rootPath : '/SuiteScripts', 
    script : 1234 , 
    deployment : 2 
})) 
+0

그게 도움이됩니다! 이제 모듈이 Netsuite와 상호 작용하고있는 것처럼 보입니다. 이제 Netsuite에서'SSS_MISSING_REQD_ARGUMENT-type'이라는 재시작에 대한 오류가 발생합니다. 또한 내가 업로드하려고하는 파일은 json 파일입니다. – VicDid

+2

nscabinet은 JSON을 지원하지 않지만 Restlet을 편집하고 json : 'JSON'을 EXT_TYPES 객체에 추가하면 제대로 작동합니다. –

+0

감사합니다. 업로드 된 JSON 파일이 암호화되어 있으므로이를 해결해야하지만 답변에 의해 해결됩니다. – VicDid

0

출력 console.log (inspect (sendToNetsuite)); 정의되지 않았거나 함수가 아닙니다. 여기 repo는 비공개입니다 https://github.com/truecloud-com/nsupload - 어쨌든 TrueCloud/Netsuite에 문의하십시오.

+0

아하이 봐요. 다른 모듈을 사용하기 시작했지만 오류가 발생합니다. "SSS_INVALID_SCRIPTLET_ID - 해당 스위트 렛이 유효하지 않거나 사용 중지되었거나 더 이상 존재하지 않습니다." 내 질문에 세부 사항을 업데이트하겠습니다. – VicDid

관련 문제