0

目前我正在使用 DocuSign 的 Node.js 集成(https://www.npmjs.com/package/docusign-esign),我使用沙盒帐户进行了所有测试并且运行良好,现在我正在尝试要使用生产帐户,登录过程很好,但是当我要创建信封时出现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 相同。

4

1 回答 1

2

一种可能的原因是您的 DocuSign 帐户托管在 na2.docusign.net、na3.docusign.net 或 eu.docusign.net 上,而您的代码使用默认的 www.docusign.com 作为基本 URL。

即使您使用 www,登录调用也会通过,但是如果您没有点击与您的生产帐户对应的确切基本 URL,则所有后续 API 调用都将失败。作为 DocuSign 上线流程(以前称为 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);
  }
});
于 2017-01-17T23:46:42.883 回答