2017-01-17 47 views
0

目前我正在使用DocuSign的一個Node.js集成(https://www.npmjs.com/package/docusign-esign),我使用沙箱帳戶進行了所有測試,並且工作完美,現在我試圖使用生產帳戶,登錄過程很好,但是當我要創建信封時,我得到一個USER_AUTHENTICATION_FAILED錯誤(即使第一次登錄沒有錯誤)。我想知道是否有人遇到過同樣的事情,或者有想法,我該如何解決這個問題。USER_AUTHENTICATION_FAILED創建信封

這是我從的DocuSign,ESIGN走上創建信封代碼:

var loginAccount = new docusign.LoginAccount(); 
loginAccount = loginAccounts[0]; 
var accountId = loginAccount.accountId; 

var envelopesApi = new docusign.EnvelopesApi(); 

envelopesApi.createEnvelope(accountId, envDef, null, function (error, envelopeSummary, response) 

帳戶ID是在登錄過程之後檢索相同。

+0

請閱讀並接受/給予好評馬吉德的答案,我也相信這是個問題。確保您使用的是登錄API響應中返回的'baseUrl',因爲這將成爲數據中心特定的帳戶URL。 – Ergin

+0

是的,我根據我從登錄中獲得的信息添加了基本網址,並且一切順利! – user3460835

回答

1

一個可能的原因可能是您的DocuSign帳戶託管在na2.docusign.net,na3.docusign.net或eu.docusign.net上,而您的代碼使用默認的www.docusign.com作爲基本URL。

即使您使用www,登錄呼叫也會通過,但如果您沒有達到與生產帳戶相對應的確切基準URL,則所有後續API調用都將失敗。您應該已收到此信息作爲DocuSign上線過程(以前稱爲API認證)的一部分。您始終可以從登錄呼叫響應中獲取基本URL。

For節點,在這裏如何從登錄調用得到正確的基地址,並設置它的API客戶端(在行大膽有可能是什麼在你的代碼丟失):

authApi.login(loginOps, function (err, loginInfo, response) { 
    if (err) { 
    return next(err); 
    } 
    if (loginInfo) { 
    // list of user account(s) 
    // note that a given user may be a member of multiple accounts 
    var loginAccounts = loginInfo.getLoginAccounts(); 
    console.log('LoginInformation: ' + JSON.stringify(loginAccounts)); 
    var loginAccount = loginAccounts[0]; 
    var accountId = loginAccount.accountId; 

var baseUrl = loginAccount.baseUrl;

var accountDomain = baseUrl.split("/v2");

apiClient.setBasePath(accountDomain[0]);

docusign.Configuration.default.setDefaultApiClient(apiClient);

next(null, loginAccount); 
    } 
}); 
+0

非常感謝!完美的作品! :d – user3460835