We’re Still Here to Help (Even Over the Holidays!) - find out more here.
Forum Discussion
ptallett
9 years agoHelpful | Level 6
How to use OAuth2 authentication APIs
I am writing a UWP app on Windows 10 with the .NET Dropbox API and want to allow users to login to their Dropbox. Note this is not a web app and I don't have a browser control. var authUri = Drop...
- 9 years ago
I solved it! The redirect URL has to be registered with a trailing slash.
Thanks for your help.
I'm not clear how long my token will last and how I refresh it, could you explain.
Love your API by the way, was a breeze to integrate into my app (except for this auth issue).
Suggestions for improvement:
- things like SearchMode.FilenameAndContent.Instance should be enums that are "or"able
- Would like to search on content only, not name and content
- I'd like a created date for the files and a size for folders
- I'd like wildcards in the search - MyF??e.j*g
- In fact the Google Drive API has a whole query language for search which is quite nice
- Sharing.CreateSharedLinkWithSettingsAsync throwing an exception when the link already exists is dumb. Just return it to me, don't care if its already created
- The Search API and List API should be merged into one API IMHO, but not a big deal
- Thumbnails for PDF and PPT would be nice (like Google)
- Content indexing of PDF and PPT would be nice (there are free IFilters for these)
- Auth should save the token so I don't need to auth every time
Cheers,
Paul
ptallett
9 years agoHelpful | Level 6
I just checked and both of the following append the slash to the redirect URL:
Uri redirect = new Uri("https://localhost");
var authUri = DropboxOAuth2Helper.GetAuthorizeUri(OAuthResponseType.Token, appKey, redirect, state, false, false);
var authUri = DropboxOAuth2Helper.GetAuthorizeUri(OAuthResponseType.Token, appKey, "https://localhost", state, false, false);
Perhaps your registration page should suggest adding the trailing slash to avoid others running into this.
Regarding "or"able enums, lets take SearchMode as an example. The current implementation is neither intuitive or scalable. If you want to extend the API in the future with a new field that you can search on, you have to add every permutation of the flags as a definition - SearchMode.Description, SearchMode.FilenameAndDescription, SearchMode.FilenameAndContentAndDescription. These would normally be defined in C# as a Flags enum:
[Flags]
public enum SearchMode
{
Filename = 1,
Content = 2,
Description = 4,
AnythingElse = 8
}
SearchMode mode = SearchMode.Filename | SearchMode.Content;
if (searchDescription)
mode |= SearchMode.Description;
A lot of discussion here: http://stackoverflow.com/questions/8447/what-does-the-flags-enum-attribute-mean-in-c
By the way, you can download my app here if you'd like to try it: http://www.modernfileexplorer.com
Cheers,
Paul
Greg-DB
Dropbox Community Moderator
9 years agoThanks for clarifying, that's very helpful!
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.
If you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X, Facebook or Instagram.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!