我需要在带有requests
python库的Google云端硬盘中创建一个新文件。
r = requests.post(
'https://www.googleapis.com/drive/v2/files',
headers={
'Content-type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer %s' % access_token
}
)
此代码可以成功创建一个文件,其中所有值都设置为默认值,但如果我尝试例如设置文件的标题:
r = requests.post(
'https://www.googleapis.com/drive/v2/files',
data={"title": "Foo"},
headers={
'Content-type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer %s' % self.access_token
}
)
然后服务器以400 Bad Request
和json响应响应:
{
"error": {
"code": 400,
"message": "Parse Error",
"errors": [
{
"domain": "global",
"message": "Parse Error",
"reason": "parseError"
}
]
}
}
我做错了什么以及如何解决?
答案 0 :(得分:1)
事实证明,当发送json请求时,data参数应该是序列化的json对象。
r = requests.post(
'https://www.googleapis.com/drive/v2/files',
data=json.dumps({"title": "Foo"}),
headers={
'Content-type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer %s' % self.access_token
}
)