We've been hard at work on API v2, and today we're releasing a second preview SDK: the Dropbox Python SDK!
It's no secret that we love Python here at Dropbox, so we hope you’ll try out the SDK and send us your thoughts. This blog post will show you how to install the Python SDK and help you get started making calls using the Dropbox API v2.
If you're familiar with API v1, you'll notice a few differences in this new SDK. For more context on v2, including an overview of how we’re updating the Core API, check out this blog post.
Keep in mind that this is a preview version of the Python SDK and API v2. Both might change in the coming months, so please don't use them in production.
Install the Python SDK
In your directory of choice, install the SDK.
pip install dropbox-sdk-python-master.zip
Now you can do “import dropbox” in your python app, or in a python interpreter.
import dropbox
Register a Dropbox API app
If you haven’t already, you’ll need to register a new app in the App Console. Select Dropbox API app and choose your app’s permission. You’ll need to use the app key created with this app to access API v2.
That’s it! You’re ready to start using the Python SDK v2 preview.
Link an account
In order to make calls to the API, you'll need a Dropbox instance. To instantiate, pass in the access token for the account you want to link. (Tip: You can generate an access token for your own account through the App Console).
dbx = dropbox.Dropbox('YOUR_ACCESS_TOKEN')
Test it out to make sure you've linked the right account:
dbx.users_get_current_account()
Try some API requests
You can use the Dropbox object you instantiated above to make API calls. Try out some of the files
requests.
List all of the contents in the user’s root directory:
for entry in dbx.files_list_folder('').entries:
print entry.name
# OUTPUT:
# Cavs vs Warriors
Upload a file (and take a wild guess at tomorrow's headline):
dbx.files_upload("Potential headline: Game 5 a nail-biter as Warriors inch out Cavs", '/cavs vs warriors/game 5/story.txt')
Get the metadata for a file (and prove that you called it before the game was over!):
print dbx.files_get_metadata('/Cavs vs Warriors/Game 5/story.txt').client_modified
# OUTPUT:
# 2015-06-15 02:45:12