我试图使用这里显示的API将一个csv响应导入到Qualtrics中:https://api.qualtrics.com/docs/import-responses。但是,由于我在Python和(扩展)请求方面是个笨蛋,我很难弄清楚为什么我总是得到一个413。我已经做到了:
formTest = {
'surveyId': 'my_id',
'file': {
'value': open('dataFiles/myFile.csv', 'rb'),
'options': {
'contentType': 'text/csv'
}
}
}
headersTest = {
"X-API-TOKEN": "my_token",
'content-type': "multipart/form-data"
}
r = requests.request("POST", url, data=formTest, headers=headersTest)
print(r.text)
formTest变量的格式是我在查看其他代码库以了解它的角度实现时发现的,它可能不适用于python版本的代码。我可以成功地使用cUrl,但是Python请求在我目前的情况下是可行的(因为各种原因)。在
在一次绝望中,我尝试直接将cUrl请求转换为python请求,但这似乎也没有太大帮助。在
以前有人做过这样的事吗?我看了一下导入联系人之类的帖子,但也没什么好运气的(因为需要发送的数据格式不同)。我有什么遗漏吗?在
最好不要混合post数据和文件,而是使用两个单独的字典。对于文件,您应该使用
files=
参数,因为它将POST数据编码为多部分表单数据,并创建所需的内容类型头。在files['file']
中的第一个值是文件名(可选),后跟file对象,然后是文件内容类型(可选)。您可以在文档中找到更多信息:Requests, POST a Multipart-Encoded File。在
相关问题 更多 >
编程相关推荐