Dropbox with Windows Phone
Delete instructional text in italic
This article explains how to connect Windows Phone to Dropbox cloud service by using Sharpbox
Enter article metadata as described below. Note that this template can be placed anywhere in the article. Do not remove parameters that you do not use
Some user may want to connect other cloud services than SkyDrive which is offered by Microsoft. By using Open Source project called Sharpbox, you can access to Dropbox clouds. At the time of writing this article, it is still not possible to access other clouds like CloudMe in Windows Phone although those others works with desktops.
Download Sharpbox from here: http://sharpbox.codeplex.com/ Add it as reference to your project.
For easier way I suggest to use NuGet to manage external projects, also those will be automatically referenced in to your project. More info about Nuget: http://nuget.codeplex.com/
Sharpbox needs valid Dropbox application key and secret. These you can make in Dropbox website, developers section where you create own application.
Dropbox developers: https://www.dropbox.com/developers
With Sharpbox is also possible to use token from file to connect Dropbox. To get token use utility application named DropBoxTokenIssuer.exe what comes with Sharpbox and it is located in net40-full folder. It's Windows application, run in desktop. Then input your application key and secret to token issuer. Create empty TXT-file and write it's path to token issuer. Click authorize and program will retrieve token to this text file.
If you don't create empty text file where to get token, program will fail to get one.
Sharpbox library has synchronized and asynchronized functions for many operations. For desktop use both are fine but in Windows Phone, operating system and it's frameworks has own limitations. All of synchronized calls will block running UI thread and therefore the whole application. Only way to get things working is to use asynchronous functions. Some needed functions still lack of asynchronous versions, it is possible to use these by implementing own async versions to own application but more of it later.
Include TXT-file, where you obtained token, to your project as an resource. Then read it as resource stream.
public void ConnectCloud(string username, string password)
ICloudStorageConfiguration conf = CloudStorage.GetCloudConfigurationEasy(nSupportedCloudConfigurations.DropBox);
ICloudStorageAccessToken accessToken = null;
StreamResourceInfo sri = Application.GetResourceStream(new Uri("/DropBoxImages;component/dropboxtoken.txt", UriKind.RelativeOrAbsolute));
if (sri != null)
LoadingFileList = true;
accessToken = m_dropBox.DeserializeSecurityToken(sri.Stream);
m_dropBox.BeginOpenRequest(LoginCallback, conf, accessToken);
Remove Category:Draft when the page is complete or near complete
The "platform categories" will be displayed here in preview only - Copy paste relevant categories into text here
Windows Phone: [[Category:Windows Phone]]
[[Category:Windows Phone 7.5]]
[[Category:Windows Phone 8]]
Nokia Asha: [[Category:Nokia Asha]]
[[Category:Nokia Asha Platform 1.0]]
Series 40: [[Category:Series 40]]
[[Category:Series 40 1st Edition]] [[Category:Series 40 2nd Edition]]
[[Category:Series 40 3rd Edition (initial release)]] [[Category:Series 40 3rd Edition FP1]] [[Category:Series 40 3rd Edition FP2]]
[[Category:Series 40 5th Edition (initial release)]] [[Category:Series 40 5th Edition FP1]]
[[Category:Series 40 6th Edition (initial release)]] [[Category:Series 40 6th Edition FP1]] [[Category:Series 40 Developer Platform 1.0]] [[Category:Series 40 Developer Platform 1.1]] [[Category:Series 40 Developer Platform 2.0]]
[[Category:S60 1st Edition]] [[Category:S60 2nd Edition (initial release)]] [[Category:S60 2nd Edition FP1]] [[Category:S60 2nd Edition FP2]] [[Category:S60 2nd Edition FP3]]
[[Category:S60 3rd Edition (initial release)]] [[Category:S60 3rd Edition FP1]] [[Category:S60 3rd Edition FP2]]
[[Category:S60 5th Edition]]
[[Category:Symbian^3]] [[Category:Symbian Anna]] [[Category:Nokia Belle]]
Add categories below using category selector.