Docusign Python SDK身份验证示例错误:错误请求

Docusign Python SDK身份验证示例错误:错误请求,python,json,jwt,docusignapi,Python,Json,Jwt,Docusignapi,我正在尝试使用docusignrestapi,并尝试在Github上的pythonsdk上遵循以下示例代码:。我已将必要的值替换为从Docusign(键、URL等)获得的值,但该示例似乎在下面一行出现故障: api_client.configure_jwt_authorization_flow(private_key_filename, oauth_base_url, integrator_key, user_id, 3600) 在此之前,代码获取给定的信息并创建url以进行身份验证。我已经手

我正在尝试使用docusignrestapi,并尝试在Github上的pythonsdk上遵循以下示例代码:。我已将必要的值替换为从Docusign(键、URL等)获得的值,但该示例似乎在下面一行出现故障:

api_client.configure_jwt_authorization_flow(private_key_filename, oauth_base_url, integrator_key, user_id, 3600)
在此之前,代码获取给定的信息并创建url以进行身份验证。我已经手动访问了这个链接,它似乎可以工作;它向我请求允许程序代表我的权限,然后将我重定向到重定向uri,并在uri中添加代码。我的问题是,当它执行下一行(我在上面发布的那一行)时,它会导致以下结果:

Traceback (most recent call last):

  File "<ipython-input-40-84847e506c37>", line 1, in <module>
    runfile('C:/Users/santi/Desktop/docusign/untitled0.py', wdir='C:/Users/santi/Desktop/docusign')

  File "C:\Users\santi\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
    execfile(filename, namespace)

  File "C:\Users\santi\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/santi/Desktop/docusign/untitled0.py", line 501, in <module>
    api_client.configure_jwt_authorization_flow(private_key_filename, oauth_base_url, integrator_key, user_id, 3600)

  File "C:\Users\santi\Anaconda3\lib\site-packages\docusign_esign\api_client.py", line 126, in configure_jwt_authorization_flow
    post_params=self.sanitize_for_serialization({"assertion": assertion, "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer"}))

  File "C:\Users\santi\Anaconda3\lib\site-packages\docusign_esign\api_client.py", line 430, in request
    body=body)

  File "C:\Users\santi\Anaconda3\lib\site-packages\docusign_esign\rest.py", line 244, in POST
    body=body)

  File "C:\Users\santi\Anaconda3\lib\site-packages\docusign_esign\rest.py", line 200, in request
    raise ApiException(http_resp=r)

ApiException: (400)
Reason: Bad Request
HTTP response headers: HTTPHeaderDict({'Cache-Control': 'private', 'Content-Type': 'text/html', 'X-AspNetMvc-Version': '5.2', 'X-DocuSign-TraceToken': '15fb83c2-9054-4522-b5ed-b77646fe1c4b', 'X-DocuSign-Node': 'DA2DFE4', 'Date': 'Sun, 05 Aug 2018 19:35:12 GMT', 'Content-Length': '11'})
HTTP response body: b'Bad Request'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
runfile('C:/Users/santi/Desktop/docusign/untitled0.py',wdir='C:/Users/santi/Desktop/docusign')
文件“C:\Users\santi\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”,第705行,在runfile中
execfile(文件名、命名空间)
文件“C:\Users\santi\Anaconda3\lib\site packages\spyder\utils\site\sitecustomize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“C:/Users/santi/Desktop/docusign/untitled0.py”,第501行,在
api\u客户端。配置\u jwt\u授权\u流(私钥\u文件名、oauth\u基本\u url、集成商\u密钥、用户\u id、3600)
文件“C:\Users\santi\Anaconda3\lib\site packages\docusign\u esign\api\u client.py”,第126行,在configure\u jwt\u authorization\u flow中
post_params=self.sanitize_for_序列化({“断言”:断言,“授权类型”:“urn:ietf:params:oauth:grant-type:jwt-bearer”}))
请求中第430行的文件“C:\Users\santi\Anaconda3\lib\site packages\docusign\u esign\api\u client.py”
车身=车身)
文件“C:\Users\santi\Anaconda3\lib\site packages\docusign\u esign\rest.py”,第244行,在POST中
车身=车身)
请求中第200行的文件“C:\Users\santi\Anaconda3\lib\site packages\docusign\u esign\rest.py”
引发异常(http_resp=r)
(400)
原因:请求错误
HTTP响应标题:HTTPHeaderDict({'Cache-Control':'private','Content Type':'text/html','X-AspNetMvc-Version':'5.2','X-DocuSign-TraceToken':'15fb83c2-9054-4522-b5ed-b77646fe1c4b','X-DocuSign-Node':'DA2DFE4','Date':'Sun,2018年8月5日19:35:12 GMT','Content Length':'11'))
HTTP响应正文:b“错误请求”

我用谷歌搜索了这个问题,在这里发现了一些类似的错误,但没有一个对我有多大帮助。追踪之后,我进入了api_client.py和rest.py文件,但我无法破译太多。最后,错误的来源似乎在rest.py的第200行,其中引发了异常,因为我不知道的值不在正确的范围内。我不确定是什么原因导致了我这方面的错误请求。有没有人有过类似的经历或可能知道问题是什么?非常感谢。

我在同一行中遇到了完全相同的错误

api_client.configure_jwt_authorization_flow()的特定于帐户的输入包括:

  • 私钥文件名(正确处理以获得JWT令牌)
  • oauth_base_url(在示例中硬编码为 “account-d.docusign.com”)
  • 集成器密钥(从我的帐户粘贴的副本)
  • 用户id
  • 事实证明,用户id值应该是API用户名代码。这解决了问题。我在这里找到了答案:


    希望它也能解决你的问题

    我在同一行上得到了完全相同的错误

    api_client.configure_jwt_authorization_flow()的特定于帐户的输入包括:

  • 私钥文件名(正确处理以获得JWT令牌)
  • oauth_base_url(在示例中硬编码为 “account-d.docusign.com”)
  • 集成器密钥(从我的帐户粘贴的副本)
  • 用户id
  • 事实证明,用户id值应该是API用户名代码。这解决了问题。我在这里找到了答案:


    希望它也能解决你的问题

    非常感谢,这把它修好了!非常感谢,这把它修好了!