我正在尝试将一个文件发布到EchoSignAPI中,它在任何地方都可以工作,除了python请求。在
这里有一个CURL命令,它非常有效curl -H "Access-Token: API_KEY" \
-F File=@/home/user/Desktop/test123.pdf \
https://secure.echosign.com/api/rest/v2/transientDocuments
这是我的请求函数。它将上载PDF文件,但带有垃圾,而CURL工作得很好。在
^{pr2}$
我做错什么了??我也尝试过把文件作为数据而不是文件来发布,结果还是没什么不同
谢谢
编辑
当我加上data = {
'Mime-Type': 'application/pdf',
'File-Name': 'abc.pdf'
}
所以,我的新功能是:def send_document(file_path, access_token=access_token):
"""Uploads document to EchoSign and returns its ID
:param access_token: EchoSign Access Token
:param file_path: Absolute or relative path to File
:return string: Document ID
"""
headers = {
'Access-Token': access_token,
}
data = {
'Mime-Type': 'application/pdf',
'File-Name': 'abc.pdf'
}
url = api_url + '/transientDocuments'
files = {'File': open(file_path, 'rb')}
return requests.post(url, headers=headers, data=data,
files=files).json().get('transientDocumentId')