Dropbox API,Python3,请求400错误请求

时间:2016-10-19 12:14:33

标签: json python-3.x python-requests dropbox-api

我能够验证并连接到DropBox API并运行team-members-list

但是当我尝试在请求中使用其他标头和数据运行team-members-remove时,我收到以下错误。

  

requests.exceptions.HTTPError:400客户端错误:网址错误请求:

添加try时:

  

从无提升JSONDecodeError("期望值",s,err.value)   json.decoder.JSONDecodeError:期望值:第1行第1列(char 0)

到目前为止

Python代码:

headers = {'Authorization': 'Bearer ' + TOKEN}
url = 'https://api.dropboxapi.com/2/team/members/remove'
data = {
    "user": {".tag": "team_member_id", "team_member_id": userid}, 
    "wipe_data": "true", 
    "transfer_dest_id": {".tag": "team_member_id", "team_member_id": adminid},
    "transfer_admin_id": {".tag": "team_member_id", "team_member_id": adminid},
    "keep_account": "false",
}
response = requests.post(url, data=data, headers=headers)

我尝试了以上的一些变化,包括:

headers = {'Authorization': 'Bearer ' + TOKEN, "Content-Type": "application/json" }
response = requests.post(url, json=data, headers=headers)
data = json.dump(data)

这里记录了一些错误,我已经阅读了这些错误并实施了建议,但仍无法解决此问题。

任何指针都非常感激。

背景:

  • Python 3.5.2
  • Dropbox for Business API

1 个答案:

答案 0 :(得分:0)

我出错的地方是我试图通过json.loads运行response.text。例如

message = json.loads(response.text)

我将此更改为

print(response.text)

这样我就收到了有用的错误消息。

代码现在看起来像这样,它的工作原理:

headers = {"Authorization": "Bearer " + TOKEN, "Content-Type": "application/json"}
jsondata = json.dumps(data)
response = requests.post(url, data=jsondata, headers=headers)