背景
現在、python requestsライプラリを用いて、Boxと呼ばれるクラウドサービスにおける、
ファイルアップロードAPIエンドポイント(BoxAPIリファレンス)へPOSTリクエストを行っております.
問題
下記のPython upload_file関数を実行して、Box APIから発行されたアクセストークンを用いて、
ファイルアップロードしようとしています.
ここで、問題として、pythonのRequestsモジュールを使用したときにcurl -Fオプションコマンドに対応するコードは、どう書いたら良いのか??です。
もし知っている方がいらっしゃいましたら、教えていただけないでしょうか??
Python
1def upload_file(self, mime_type, file_path, newfile_name, parent_id): 2 """ 3 Boxサービスに対して、ファイルをアップロードする関数 4 5 Parameters 6 ---------- 7 mime_type : str 8 アップロードするファイルのMIME TYPE 9 file_path : str 10 アップロードするファイルパス 11 newfile_name : str 12 アップロード後のファイル名 13 parent_id : str 14 アップロードするファイルの親フォルダID 15 16 Returns 17 ---------- 18 Http Responseの内容 19 """ 20 headers = { 21 "Authorization": f"Bearer {self.access_token}", 22 "Content-Type": "multipart/form-data" 23 } 24 file_bin = open(file_path, 'rb').read() 25 files_json = {'file': (newfile_name, file_bin, mime_type)} 26 item_data = { 27 "attributes" : { 28 "name" : newfile_name, 29 "parent" : { 30 "id" : parent_id 31 } 32 } 33 } 34 # TODO (curl -Fオプションの場合、requests.postはどう対応されるのか) 35 response = requests.post(self.UPLOAD_API + "files/content/", json=item_data, files=files_json) 36 37 print(response.status_code) 38 print(response.content)
error
1400 # クライアント側エラー.. 2b'{"code":"bad_request","help_url":"http://developers.box.com/docs/#errors","status":400,"message":"Invalid API request path /api/2.0/files/content/","type":"error"}'
回答1件
あなたの回答
tips
プレビュー