Dropbox is currently one of the most popular cloud storage solutions out there. In addition to providing basic file IO interfaces, Dropbox also provides a rich Developer API that enables third-party developers to access customers’ files that are stored in the cloud. There are numerous SDK wrappers available for the Dropbox API that allow developing against the Dropbox API in various languages.
One of the pains that is consistent across the API is the development step of obtaining an ‘Access Token’ to a user’s account.
Dropbox wisely leaves it up to the users to decide whether or not to authorize a third-party applications’ access to the storage. This allows users to terminate access by third-party applications to their files at any time. The downside, of course, is that it introduces a slight development hurdle of requesting and managing access tokens for users accounts.
In general, Dropbox access authorization process works as follows:
- Application connects to Dropbox using Developer credentials provided by Dropbox when a Developer Account is created.
- Dropbox provides the application with a ‘Request Token’, which is essentially a session identifier.
- Application Developer must now redirect the user to Dropbox, where the user will have an opportunity to authorize application for access to their Dropbox files. The ‘Request Token’ is encoded in the URL. Optionally, the application can encode a ‘Callback Url’ that will get called when the user approves access request.
- Upon user’s approval of application’s access to the user’s Dropbox Account, the application can request a permanent (good for 10 years or until cancelled) ‘Access Token’ for accessing user’s account.
- The application must now store the contents of the ‘Access Token’ and retrieve it whenever Dropbox operations are required.
Our team at Functual has been using SharpBox as our Dropbox SDK wrapper for C#. Although SharpBox comes packaged with a tool (DropBoxTokenIssuer) to handle Dropbox ‘Access Token’ acquisition, we found ways in which we could improve the tool to better suit our development needs and to be more intuitive.
Dropbox Token Manager is a free Dropbox development tool that simplifies Access Token acquisition and management during development of Dropbox -enabled applications.
Dropbox Token Manager has SharpBox-specific functionality when it comes to saving and restoring ‘Access Tokens’ but also provides useful information for any SDK user, as well as a mechanism to test the functionality of the Callback Url.
- Free, Light weight, configurable Dropbox Access Token acquisition
- Configurable Callback Url support
- Ability to Save serialized Access Token
- Ability to Load saved Access Token
- SharpBox integration
- Implements simple Callback Url template that displays GET parameters as returned by Dropbox
- Windows 8, 7, Vista, XP compatible (.NET 4.0 required)
- DropboxTokenManager.zip [381k]
Feel free to offer feedback or feature requests via email@example.com.