我正在尝试使用Docusign Rest API,并尝试在Github上的Python SDK上使用示例代码:https://github.com/docusign/docusign-python-client。我已将所需的值替换为从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'
我已经搜索了这个问题,并在这里找到了一些类似的错误,但没有一个对我有很大帮助。跟踪之后,将我带到api_client.py和rest.py文件中,但我无法解读得太多。最后,错误的根源似乎在rest.py的第200行中,在该行中引发了异常,因为我不知道的值不在适当范围内。我不确定是什么原因导致我提出了不好的要求。有没有人有过类似的经历或可能知道问题所在?非常感谢,谢谢。
答案 0 :(得分:2)
我在同一行出现了完全相同的错误。
api_client.configure_jwt_authorization_flow()的帐户特定输入为:
事实证明,user_id值应为API用户名代码。这解决了问题。我在这里找到了答案: DocuSign Python SDK - API Exception 400 - 'Bad Request'
希望它也可以解决您的问题!