2017-02-16 29 views
0

私はPythonリクエストコードに変換したいこのcURLリクエストを持っています。ファイルをREST APIにアップロードできません

cURLのコンテンツは、HTTPリクエストメッセージ含まれているSalesforceのドキュメントチェック要求の詳細については

curl -H "X-PrettyPrint: 1" 
    -F 'json={"title":"PandaTest"};type=application/json' 
    -F "[email protected];type=application/octet-stream" 
    -X POST https://cs31.salesforce.com/services/data/v39.0/connect/files/users/me 
    -H 'Authorization: 00Dp000000.....CqqU0.S_5r' --insecure 

ある - hereを。セクションUpload a file to the Files homeを検索してください。

されていない、私が書いたものを、それの

ザ・Pythonのカウンターパートは、私の要求が正常に送信され

import requests 

files = { 
      "fileData" : open("rename.py", "rb"), 
      "json" : '{"title":"PandaTest"}' 
     } 

headers = { 
       'Authorization': 'OAuth 00Dp00000000u....n3ZGuoZK2wYJRCqqU0.S_5r', 
       "Content-Disposition": "form-data 'fileData'" 
      } 

r = requests.post('https://cs31.salesforce.com/services/data/v39.0/connect/files/users/me/', 
        data=files, headers=headers) 
data = json.loads(r.text) 

print data 

ですが、私はエラーMissing expected "fileData" binary parameter .Iは、私が送信しようとしている要求を感じている取得します正しく形成された。どこが間違っていたのですか?

私は、2 -FのcURL要求を正しく処理していないと感じています。

+0

はファイルの実際のデータ、またはファイルの名前であると思われるfileDataですか? – MattCorr

答えて

0

このライン:

"fileData" : open("rename.py", "rb"), 

は、ファイルを開いたときに返されたオブジェクトに「ファイル名を」設定されます。

"fileData" : open("rename.py", "rb").read(), 

ファイル内のすべてのバイトを読み、彼らに「ファイル名を」設定されます:あなたは、ファイルの実際の内容であることを「ファイル名を」希望の場合は、これに行を変更します。

+0

私もそれを試みました。しかし、それは役に立たなかった。 – JRodDynamite

関連する問題