为什么发帖请求有不同的结果?

时间:2016-07-06 06:59:13

标签: python curl python-requests asana-api

我在linux中使用curl将数据发布到asana并且工作正常。

curl -H "Authorization: Bearer <mytoken>" https://app.asana.com/api/1.0/tasks/101/stories -d "text=hello world"

但如果我使用python的请求库,那么结果就是400

response = requests.post("https://app.asana.com/api/1.0/tasks/101/stories", auth=(self.asana.token_uri, ""), params = "text=repo_name")

2 个答案:

答案 0 :(得分:0)

您需要添加相同的&#34;授权:承载&#34;令牌标头在python中的请求。与此答案类似:

https://stackoverflow.com/a/29931730/6080374

答案 1 :(得分:0)

auth方法的requests参数会生成Authorization: Basic标头,而不是Authorization: Bearer标头。

使用手动创建的headers标头设置Authorization字典。 POST数据(curl的-d命令行开关)应作为字典传递给data参数:

response = requests.post(
    "https://app.asana.com/api/1.0/tasks/101/stories",
    headers={'Authorization': 'Bearer {}'.format(self.asana.token_uri),
    data={'text': 'repo_name'})