If I made a Pythonista script and wanted to read/write to a .txt file (like log data) that is in my Dropbox, how would I go ahead and do that?
I don't need to make a UI like a file picker, just read/write to a .txt file.
If I made a Pythonista script and wanted to read/write to a .txt file (like log data) that is in my Dropbox, how would I go ahead and do that?
I don't need to make a UI like a file picker, just read/write to a .txt file.
(I have a text file in drop box being updated by some other computer, I want to read that data in a .py script.)
filename in the code below and run it.import contextlib, dropboxlogin
filename = '2048.py'
dropbox_client = dropboxlogin.get_client()
with contextlib.closing(dropbox_client.get_file(filename)) as in_file:
data = in_file.read()
print data
You could also look at just the download_file function in my Dropbox File Picker (and the setup instructions at the top of the Gist). That function can be used without any UI, and it should be relatively easy to write an upload_file in the same way (have a look at the Dropbox Core API which I used directly there).
The setup process has a few more steps than dropboxlogin, but it should be more reliable overall, since it doesn't require showing a browser etc.
I'm trying to do the same here but keep running into a 401 error.
I followed the above advice, and run the dropboxlogin.py script to test it out and I just get the error. I found this on Linking Dropbox and Pythonista but the instructions seemed to have change for Dropbox.
I created the app, generated a user token, set it to full Dropbox and then changed the dropboxlogin script to show the app key, the app secret and dropbox for access. That page says you can run the script to test it out but I get a 401 error.
I try and run the script above, the one where you change the filename and again a 401 error. I really want to be able to do this, to read in data from a CSV on Dropbox, but can't seem to find clear instructions on how to get started. Thanks in advance.
Here is a 6 liner that simply uploads, then downloads a textfile, which makes use of the generated token to make things easy. You can replace the test string with an open file object
import dropbox,contextlib
TOKEN='YOUR ACCESS TOKEN GOES HERE... GENERATE FROM DROPBOX API PAGE'
d=dropbox.Dropbox(TOKEN)
d.files_upload('test','/test.txt')
with contextlib.closing(d.files_download('/test.txt')[1]) as response:
print response.content