2017-01-17 7 views
0

現在、私はDocuSign(https://www.npmjs.com/package/docusign-esign)用のNode.js統合で作業しています。私はサンドボックスアカウントですべてのテストを行い、完璧に動作しました。今はプロダクションアカウントを使用しようとしています。プロセスは正常ですが、エンベロープを作成しようとすると、最初のログインにエラーが発生しなくても、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

私もそれが問題だと考えているよう/ UPVOTEマジッドの回答を確認し、同意してください。 Login APIレスポンスで返される 'baseUrl'を使用していることを確認します。これは、データセンター固有のアカウントURLになります。 – Ergin

+0

はい、私はログインから取得した情報に基づいてベースURLを追加し、すべてがスムーズに動作します! – user3460835

答えて

1

DocUssignアカウントがna2.docusign.net、na3.docusign.netまたはeu.docusign.netでホストされている可能性があります。コードでは、デフォルトのwww.docusign.comをベースURLとして使用しています。

wwwを使用していてもログインコールは成功しますが、プロダクションアカウントに対応する正確なベースURLにアクセスしていないと、それ以降のAPI呼び出しはすべて失敗します。 DocuSign Go-Liveプロセス(以前はAPI認証と呼ばれていました)の一環として、この情報を受け取ったはずです。ログイン呼び出しの応答からいつでもベースURLを得ることができます。ノードに対する

、ここでログイン呼び出しから正しいベース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); 
    } 
}); 
+0

ありがとう!完璧に動作します! :D – user3460835

関連する問題