2016-09-30 21 views
0

私はAdobe Sign APIにPOSTしようとしています。 APIに精通していなくても、これはかなり簡単な質問です。Pythonリクエストを使用してこのPOSTリクエストを行う方法

ログインのマニュアルは、私が行う必要があり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> 

はPythonの要求を使用して、私の現在のコードです:

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ではありませんを探している。私は応答を得ます:

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

私のPDFファイルをこのAPIにPOSTする方法についてのヒントはありますか?

申し訳ありませんが、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 
関連する問題