DropBox ver 1 API and/or non-MS and not ugly SkyDrive API

singularity0821

Senior Member
Apr 6, 2011
331
314
83
Hi all
Just found a smart way to increase your Dropbox account with 600 MB:
1 Sign into your existing Dropbox account (or create a new account)
2 Goto https://www.dropbox.com/free
3 Follow instructions ... and voila 600 MB additional free storage :)
And if you go here and register your university Email address you get 500 for each referral instead of 250 :) But all that is a little off-topic ;)
 

acidhax

Senior Member
Apr 1, 2009
227
18
0
Ontario
sensboston, you seriously need to research OAuth before you become rude. If you don't like the way it's made, make it yourself.

You have to use the web browser. End of discussion. Unless you want to emulate the browser, which I doubt you can do. The user does not care if you have to authorize via web-view.
 

tvbusy

Member
Feb 22, 2009
7
3
0
sensboston, OAuth is a major step forward for user security. It does bother developers as it involves a "dirty" step in the authentication.

As a user, I just simply can't say how much I love OAuth. The only authentication I'll need to make is against the service that I registered my account with. With OAuth, I no longer have to provide my credential to yet another app, risking it being stored somewhere. I wish the OAuth providers (like DropBox and Twitter) try to make it so hard that no one can by pass the login by simulating the HTTP traffic. This way, my credentials is much, much more safe.

As a developer, it's dirty though, but once you weight the benefit of user, it's a great feature. For my application, I can guarantee user that my application no longer takes their password. Everything they do will be via the service they trusted. Zero risk of their credential being leaked.

One annoying thing I had with both SkyDrive, (I guess also apply to DropBox) was the "Remember my password" check box in the authentication page. Next time I display the authentication browser again, it automatically login, and I hated that.

You have multiple choices here:
1. When the browser is loaded, load the logout page first, which will definitely clears out the cookies. Don't try those cookies delete methods using javascript on the internet. Just show the log out screen, and once the page is loaded, cancel the page display and shows the login page. This will take less than half a second and works all the time.
2. In SkyDrive case, I think it can be a feature. The next time the authentication page is displayed, the browser remembers the cookies, so user doesn't have to login. Instead, SkyDrive will display the confirmation page again so that user can either tap on "OK" to trust our app, or click log out and then sign in using another credentials. I can't speak for the DropBox case as I've not tried it, but it's quite convenient for the user.

Hope this helps you calm down.
 

sensboston

Recognized Developer
Nov 18, 2009
2,142
797
193
Boston, MA
tvbusy, I don't need to calm down 'cause I don't particularly worried :) And "yes", I already know the OAuth advantages. Technically I can agree to use system browser (btw, this implementation also have not only pros but cons too; it's not 100% secure). But the main problem is: currently we don't have - or I don't know - good and easy implementation/API. Have you checked current MS implementation for SkyDrive or mentioned here DropNet?
 

tvbusy

Member
Feb 22, 2009
7
3
0
I'm using both SkyDrive and DropNet for my WP7 app. They're working fine, though I have a problem with the SkyDrive limitation of supported file extension.

For DropBox, DropNet is the best library you can find. I've tried their REST API before but changed to use DropNet instead, as it's much easier and the workflow is much smoother compared to doing it myself.

For SkyDrive, you should try Microsoft's Live SDK first, which provides the Sign In control which handles almost everything, but not very useful if you want offline capability. I'm using SkyDrive REST API for my application since I need offline access to synchronize data. There are immediate grant which gives you an access key for 1 hour only, and authorization grant which gives you an access key and refresh token so that you can refresh your access key after it has expired.

I agree that OAuth is not 100% secure, but as I've said before, much more secure for user than typing their password to every app they'd want to use.
 

tvbusy

Member
Feb 22, 2009
7
3
0
You can take a look at:
Code:
https://github.com/7Pass/7Pass
Specifically, look at the file KeePass\Sources\DropBox\DropBoxAuth.xaml.cs
 

sensboston

Recognized Developer
Nov 18, 2009
2,142
797
193
Boston, MA
Hmm... It's not what I asked for. BTW, your app isn't good example - marketpalce version still using API 0, today's github copy don't work with dropbox at all - only show "connection error" message.
Could you please create a simple, one page example using "clear" DropNet (without your wrapping classes; if it so perfect, it shouldn't be a problem!) that list the dropbox directory, and download file by tap?

P.S. Update: I forgot to add app key & secret. But after adding (I used my app keys, for API 1) I've got another error: "Error listing folder content. Please try again later". On the another run, dropbox login is not saved and still displaying me a login page. You call it "best library"?..
 
Last edited: