【发布时间】:2015-09-16 07:03:36
【问题描述】:
使用WheniWork的api,需要使用token进行身份验证,还需要发送数据创建新用户。我使用 requests.post() 发送的参数的顺序或名称是否重要?
如果我只是使用 GET 来获取信息,我可以让 url 包含我正在寻找的东西,然后发送一个作为令牌的有效负载。例如:
url = 'https://api.wheniwork.com/2/users/2450964'
payload = {"W-Token": "ilovemyboss"}
r = requests.get(url, params=payload)
print r.text
但是,当我尝试添加新用户时,我要么无法进行身份验证,要么无法正确传递数据。 api 参考显示了使用 cURL 的这种格式:
curl https://api.wheniwork.com/2/users --data '{"first_name":"FirstName", "last_name": "LastName", "email": "user@email.com"}' -H "W-Token: ilovemyboss"
这是我使用请求在 python (2.7.10) 中写出的内容:
url = 'https://api.wheniwork.com/2/users'
data={'first_name':'TestFirst', 'last_name': 'TestLast','email':'test@aol.com'}
params={"W-Token": "ilovemyboss"}
r = requests.post(url, data=data, params=params)
print r.text
有人可以解释数据(用户)是否/如何与身份验证(令牌)分开发送吗?
【问题讨论】:
标签: python authentication curl python-requests