使用普通python请求复制Postman端点

时间:2019-01-23 15:43:16

标签: python-requests docusignapi

无法使provided python API正常工作(我对身份验证一无所知),但是能够使用provided Postman collections正常工作,

我决定尝试在Python中复制这些集合端点。

我从auth端点开始了一个良好的开端

这里是邮递员: enter image description here enter image description here

和我的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 /

这里是邮递员: enter image description here

并且标题与上面的Auth请求相同

我尝试了以下几种变化:

params = {'accountId':'7787022'}
get_templates = requests.get(base_url+'templates', params, headers=headers)

无论我尝试什么,我得到的都是404,而不是邮递员的200。 知道我在做什么错吗?

3 个答案:

答案 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。它包括身份验证和许多示例。