[英]python-requests and EchoSign
我正在嘗試將文件發布到EchoSign API中,除了python-requests之外,它對我都有效。
我這里有完美運行的CURL命令
curl -H "Access-Token: API_KEY" \
-F File=@/home/user/Desktop/test123.pdf \
https://secure.echosign.com/api/rest/v2/transientDocuments
這是我的請求功能。 它將上傳PDF文件,但帶有垃圾,而CURL可以完美運行。
api_url = 'https://secure.echosign.com/api/rest/v2'
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}
url = api_url + '/transientDocuments'
with open(file_path, 'rb') as f:
files = {
'File': f,
}
return requests.post(url, headers=headers, files=files).json().get('transientDocumentId')
我究竟做錯了什么?? 我嘗試過將文件也作為數據而不是文件發布,仍然沒有不同的結果
謝謝
編輯
當我添加時它起作用了
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')
這是這樣的
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')
嘗試傳入文件名和mime-type,如下所示:
files = {
'File': (
os.path.basename(file_path),
f,
'application/pdf',
)
}
參考文獻:
man curl
,請參閱--trace-file FILE
argumet
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.