2016-09-30 4 views
0

Adobe Sign API에 POST하려고합니다. API에 익숙하지 않더라도 매우 간단한 질문입니다.Python을 사용하는 방법이 POST 요청을 요청합니다.

다음
POST /api/rest/v5/transientDocuments HTTP/1.1 
Host: api.na1.echosign.com 
Access-Token: MvyABjNotARealTokenHkYyi 
Content-Type: multipart/form-data 
Content-Disposition: form-data; name="File"; filename="MyPDF.pdf" 

<PDF CONTENT> 

파이썬 요청을 사용하여 내 현재 코드입니다 :

def createTransientDocument(your_file_base_url, file_name): 
    headers = {'access-token': datafile.accessToken, 
       'x-user-email': '<redacted for StackOverflow>', 
       'content-type': 'multipart/form-data'} 

    files = {'file': (file_name, open(your_file_base_url + file_name, 'rb'))} 

    r = requests.post(datafile.transient_documents_URL, files = files, headers=headers) 

    return r 

불행하게도,이 확실히되지는 무엇 API

로그인의 문서는 내가해야 할 POST는 다음과 같습니다 말한다 찾고있다. 나는 응답을 얻을 :

*{"code":"BAD_REQUEST","message":"The request provided is invalid"}* 

이 API에 내 PDF 파일을 게시 할 수 요청 라이브러리를 사용하는 방법에 대한 팁은?

죄송합니다 n00b 질문에 대해,하지만 지금 요청 라이브러리를 배우고 있습니다. 감사.

답변

1

뉘앙스이지만 "File"파일의 이름을 대문자 F로 지정해야합니다. 그렇지 않으면 API가 Adobe Sign 측에서 가져옵니다. 다음은 올바른 (작동하는) API 호출입니다.

def createTransientDocument(your_file_base_url, file_name): 
    headers = {'access-token': datafile.accessToken, 
       'x-user-email': '<email redacted>', 
       'content-disposition':'form-data'} 

    files = {'File': open(your_file_base_url+file_name, 'rb')} 


    r = requests.post(datafile.transient_documents_URL, files=files, headers=headers) 

    return r 
관련 문제