Hacks Programming

Update: Uploading Files from Raspberry PI to Dropbox

Hello all,

A while ago I wrote about a script I used to upload files to Dropbox from my Raspberry PI. Since then Dropbox has implemented OAuth v2 and gives you the opportunity to generate a token directly from their website.

With that token you can authenticate directly and run commands. You need Dropbox 2.0+ SDK.

Here’s the new script:

 

#!/usr/bin/python

# Include the Dropbox SDK libraries
import dropbox

import os
import sys

DEBUG = False

TOKEN = ''
if os.path.exists('token.txt'):
	with open('token.txt') as token_f:
		TOKEN = token_f.readline().rstrip()

if DEBUG:
	print TOKEN

# Create client
client  = dropbox.client.DropboxClient(TOKEN)

if DEBUG:
	print "linked account:", client.account_info()

noParams = len(sys.argv)
if noParams < 2:
	print "Usage: upload_to_dropbox.py <file1> ..."
	sys.exit(0)

for idx in range(1, noParams):
	f = open(sys.argv[idx])
	filename = os.path.basename(sys.argv[idx])
	response = client.put_file(filename, f, True)
	print "uploaded:", response

Code is also available in my bitbucket: https://bitbucket.org/crazyquark/pydropboxutils

Enjoy.

 

P.S.

An older commit had some private keys in there but don’t worry, I deleted the credentials from my Dropbox account so they cannot be used anymore.

Plus, the repo used to be private.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.