使用新生成的令牌进行API调用时遇到问题。 PARTNER_AUTHENTICATION_FAILED?

时间:2019-07-08 01:55:03

标签: python docusignapi

我目前能够从Docusign的API生成令牌。

我正在使用python包装器docusign-esign

{
'access_token': <JWT token>, 
'data': None, 
'expires_in': '3600', 
'refresh_token': None, 
'scope': None, 
'token_type': 'Bearer'
}

对于开发人员:API和集成密钥信息

使用

  • 隐性补助金
  • RSA密钥对
  • 重定向URI设置
  • 状态实时

BASE_URL='https://demo.docusign.net/restapi'

OAUTH_BASE_URL='account-d.docusign.com'

我正在使用信封API通过auth标头获取信封状态

'Authorization Bearer <JWT token>'

我收到以下400错误:

{
  "errorCode": "PARTNER_AUTHENTICATION_FAILED",
  "message": "The specified Integrator Key was not found or is disabled. Invalid account specified for user."
}

2 个答案:

答案 0 :(得分:2)

公共ID,集成商密钥,API帐户ID和API用户名都是单独的ID,并且在进行API调用时会在不同的时间使用。这使我在处理API时感到非常沮丧。

为帮助弄清楚(这是特定于Docusign的python包装器):

使用request_jwt_user_token

它需要

  • client_id-集成商密钥
  • user_id-您要模拟的ID,可以在管理页面>用户> API用户名(这是UUID)中找到
  • oauth_host_name-account-d.docusign.com用于开发人员或account.docusign.com用于生产
  • private_key_bytes-文件中的RSA密钥对(私钥)
  • scopes-通常为signature impersonate用于JWT隐式授予

然后在使用EnvelopeAPI.create_envelope时需要一个account_id,它既不是client_id也不是user_id。对我来说,account_id是“对于开发者:API和集成密钥信息”中的API帐户ID。因此,要么从docusign复制并粘贴API帐户ID,要么使用JWT授权示例here

来获取它

这可能是我完全不理解的错,但是希望这是一些可以帮助别人的信息。

答案 1 :(得分:1)

您实际上是用JWT令牌代替吗?以及您如何生成此令牌?  请确保您已阅读并按照此处的说明进行操作-https://github.com/docusign/eg-01-python-jwt