docusign - USER_DOES_NOT_BELONG_TO_SPECIFIED_ACCOUNT,用户已同意

docusign - USER_DOES_NOT_BELONG_TO_SPECIFIED_ACCOUNT, User has already provided consent

我创建了一个虚拟账户,通过它我同意主账户APP。

授权后,我将UUID保存在数据库中。

我使用 APP 集成密钥创建了一个 JWT 令牌,UUID 存储在数据库中。使用以下代码

let apiClient = new Docusign.ApiClient();
apiClient.setOAuthBasePath(dsConfig.dsOauthServer.replace('https://', ''));  
const res = await apiClient.requestJWTUserToken(
    integratorKey, 
    uuid, 
    "impersonation signature", 
    rsaKey.toString(), 
    3600
);

使用主账户 accountId,我正在尝试创建一个信封,我在其中收到有关 USER_DOES_NOT_BELON_TO_SPECIFIED_ACCOUNT 的错误消息。

let dsApiClient = new Docusign.ApiClient();
    dsApiClient.setBasePath(dsConfig.dsBaseUri);
    dsApiClient.addDefaultHeader('Authorization', 'Bearer ' + jwt);

let envelopesApi = new Docusign.EnvelopesApi(dsApiClient)
  , results = null;

results = await envelopesApi.createEnvelope(dsConfig.accountId, {
    envelopeDefinition: envelope
});

这里-

dsConfig.dsOauthServer > 'https://account-d.docusign.com'
dsConfig.dsBaseUri > 'https://demo.docusign.net/restapi'

在虚拟帐户中,我检查了管理配置文件/连接的应用程序.

是否同意

这一切都发生在沙盒开发者帐户中。

请帮忙

AccountId 和 userId 不一样。请注意,帐户是一个更高级别的对象,一个帐户可以有多个用户。 您必须为该帐户使用相同的帐户和用户。 这意味着您的 dsConfig.accountId 值是您用于令牌的 uuid 是其成员的帐户的 GUID。

此错误意味着 DocuSign 找不到您在创建信封的 API 调用中提供的帐户 ID 中为其进行身份验证的用户。