目前我正在为DocuSign(https://www.npmjs.com/package/docusign-esign)使用Node.js集成,我使用沙盒帐户进行了所有测试并且工作得很好,现在我正在尝试使用生产帐户,登录过程很好,但是当我要创建信封时,我收到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 :(得分:2)
一个可能的原因可能是您的DocuSign帐户托管在na2.docusign.net,na3.docusign.net或eu.docusign.net上,而您的代码使用默认的www.docusign.com作为基本URL。 / p>
即使您使用www,登录呼叫也会通过,但是如果您没有访问与您的生产帐户对应的确切基本URL,则所有后续API调用都将失败。您应该已经收到此信息,作为DocuSign Go-Live流程(以前称为API认证)的一部分。您始终可以从登录呼叫响应中获取基本URL。
对于Node,此处如何从登录调用中获取正确的基本URL并将其设置为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);
}
});