无法使provided python API正常工作(我对身份验证一无所知),但是能够使用provided Postman collections正常工作,
我决定尝试在Python中复制这些集合端点。
我从auth端点开始了一个良好的开端
和我的python代码复制了此内容:
base_url = 'https://demo.docusign.net/restapi/v2/'
params = {'api_password':'true'}
headers = {'X-DocuSign-Authentication':json.dumps({"Username":username,"Password":password,"IntegratorKey": clientid}),
'Content-Type':'application/json'}
auth_req = requests.get(base_url+'login_information', params, headers=headers)
与邮递员一样,身份验证请求产生200个信息
但是我尝试了另一个请求/ templates /
并且标题与上面的Auth请求相同
我尝试了以下几种变化:
params = {'accountId':'7787022'}
get_templates = requests.get(base_url+'templates', params, headers=headers)
无论我尝试什么,我得到的都是404,而不是邮递员的200。 知道我在做什么错吗?
答案 0 :(得分:2)
根据您的评论,您似乎没有完整的BaseUrl。基本URL的整个正文将包括服务器,其余的API版本和您的帐号。除了登录信息和其他身份验证调用之外,所有标准* REST API调用都将从https://{{server}}.docusign.net/restapi/v2/accounts/{{accountId}}/
将对https://{{server}}.docusign.net/restapi/v2/accounts/{{accountId}}/templates
进行GET模板调用。
*组织API调用即将推出,并且可能会使用其他URL。
答案 1 :(得分:0)
以下内容未解决,但我认为可以解决,但仍认为这是重要信息:
在“测试”下的Postman身份验证呼叫中,存在跟踪代码
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("accountId", jsonData.loginAccounts[0].accountId);
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("baseUrl", jsonData.loginAccounts[0].baseUrl);
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("password", jsonData.apiPassword);
即使这是“测试”,它对于设置变量还是很有用的(我老公司的一些ppl曾经这样做)。
在我的python代码中,我需要从auth请求中获取响应主体:
{
"loginAccounts": [
{
"name": "Aiden McHugh",
"accountId": "7787022",
"baseUrl": "https://demo.docusign.net/restapi/v2/accounts/7787022",
"isDefault": "true",
"userName": "Aiden McHugh",
"userId": "e87........6a4eb",
"email": "aide....il.com",
"siteDescription": ""
}
],
"apiPassword": "HheDl......3MQ="
}
并使用apiPassword变量重置我的标头中的密码
答案 2 :(得分:0)
您还可以签出python code example。它包括身份验证和许多示例。