cancel
Showing results for 
Search instead for 
Did you mean: 

couldn't upload using a python script

SOLVED
182 Views
3 Comments
0 Kudos
Highlighted

couldn't upload using a python script

hi

i am trying to use this simple python code to upload but it doesn't seem to work, the output looks fine with no errors, but the file is never uploaded, when i try the same curl command on command prompt it works fine.

 

p = subprocess.Popen("curl -X POST https://content.dropboxapi.com/2/files/upload --header \"Authorization:Bearer <ACCESS_TOKEN_REDACTED>\" --header \"Dropbox-API-Arg:{\"path\":\"/m40_debug.log\",\"mode\":\"add\",\"autorename\":true,\"mute\":false}\" --header \"Content-Type:application/octet-stream\" --data-binary @abcd.log", stdout=subprocess.PIPE, stderr=None, shell=True)
stdout, stderr = p.communicate()
1 Accepted solution

Accepted Solutions
Solution

Re: couldn't upload using a python script

i checked with curl -v and see i always get 400 bad request, reason might be as quotes are missing in json object, not sure though, does anyone have any working way to upload curl command using python subprocess.Popen command


3 Replies
Solution

Re: couldn't upload using a python script

i checked with curl -v and see i always get 400 bad request, reason might be as quotes are missing in json object, not sure though, does anyone have any working way to upload curl command using python subprocess.Popen command


Re: couldn't upload using a python script

got it resolved with a extra single quote before start of Dropbox-API-Arg
Dropboxer

Re: couldn't upload using a python script

I'm glad to hear you got this sorted out already. For future reference, if you check the response body, it should contain a more specific error message indicating the issue.

 

By the way, I redacted it from your post, but since you initially posted your access token, for the sake of security, you should disable that access token. You can do so by revoking access to the app entirely, if the access token is for your account on the account security pageOr, you can disable just this access token using the API. You would need to then get a new access token and plug that in to your app instead.