python - Docusign Python SDK 身份验证示例错误:错误请求
问题描述
我正在尝试使用 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 行,因为我不知道的值不在适当的范围内,所以引发了异常。我不确定是什么导致了我的错误请求。有没有人有类似的经历或可能知道问题是什么?我将不胜感激,谢谢。
解决方案
我在同一行遇到了完全相同的错误。
api_client.configure_jwt_authorization_flow() 的帐户特定输入是:
- private_key_filename(正确处理以获取 JWT 令牌)
- oauth_base_url(在示例中硬编码为“account-d.docusign.com”)
- integrator_key(从我的帐户复制粘贴)
- user_id
事实证明,user_id 值应该是 API 用户名代码。这解决了问题。我在这里找到了答案: DocuSign Python SDK - API Exception 400 - 'Bad Request'
希望它也能解决你的问题!
推荐阅读
- javascript - res.locals,req.variable 在 node.js 中返回 undefined
- rust - Vec::dedup 不起作用 - 如何从字符向量中过滤重复项?
- ruby-on-rails - 数组在另一个数组中出现了多少次?
- javascript - 为作为参数传递给Javascript函数的对象分配别名
- angular - 如何在表(mat-table)中检查所有或取消检查使用(mat-checkbox)
- python - 在 win32file.DeviceIoControl 上解压结构
- c# - C# linq 删除集合中的所有元素 OfType
- node.js - 卷曲 -d 与 --data-binary
- angularjs - Ionic FabricJs 访问函数的问题
- opencv - AVFrame 到 OpenCV:Mat 与 GpuMat