Docusign生产环境中EnvelopesApi.ListDocuments调用失败,GetUserInfo可正常工作(先后出现PARTNER_AUTHENTICATION_FAILED和404错误)
我已经查阅了所有文档和这里的多篇帖子,认为我的情况比较特殊。
我遇到了这个错误:
PARTNER_AUTHENTICATION_FAILED
The specified Integrator Key was not found or is disabled. An Integrator key was not specified
按照文档建议,我反复检查了集成密钥、账户ID和端点(REST API和认证端点),所有信息都是正确的。这个问题出现在生产环境中,而我的集成已经使用EnvelopesApi创建信封好几年了,一直没有问题。
在演示环境中调用Envelopes.ListDocuments完全正常。
生产环境的集成有自己的私钥...
我使用DocusignClient.RequestJWTUserToken获取令牌,返回的令牌是有效的,而且用这个令牌调用DocusignClient.GetUserInfo()是可以正常获取账户信息的!
但是,当我调用以下代码时:
EnvelopesApi.ListDocuemnts(the_account_id_from GetUserInfo, a_known_good_envelopeId);
就会出现我上面提到的错误。
文档说要确保accountid、integration id、端点(REST API和认证端点)都正确,这些我都确认过了。不然我怎么能创建信封和获取用户信息呢?
调用的作用域如下:
var scopes = new List<string> { "signature", "impersonation", };
有人能帮忙吗?
*编辑
REST API端点是:https://na2.docusign.net/restapi
和我在DocuSign的“Apps & Keys”中看到的一致。
认证端点:account.docusign.com
**编辑2:认证似乎正常了,不过...
现在我调用ListDocuments时,每个我尝试的envelopeId都返回“File or directory not found” 404错误。这些envelopeId确实存在,而且可以在DocuSign网站上查看。
AuthUtil auth = new AuthUtil(_keyVaultConfiguration); OAuth.OAuthToken token = auth.GetTokenFromJwt(); Account account = auth.GetAccountInfo(token); DocuSignClient docuSignClient = new DocuSignClient(account.BaseUri); docuSignClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + token.access_token); EnvelopesApi envelopesApi = new EnvelopesApi(docuSignClient); // known good envelopeId EnvelopeDocumentsResult results = envelopesApi.ListDocuments(account.AccountId, eml.TEnvelopeId); foreach (EnvelopeDocument doc in results.EnvelopeDocuments)...
代码在执行到foreach之前就抛出了404错误。
这是什么原因造成的呢?
备注:内容来源于stack exchange,提问作者Tim Brown

