We’re Still Here to Help (Even Over the Holidays!) - find out more here.
Forum Discussion
JMagnat
9 years agoExplorer | Level 3
Migration V1 to V2
Hi, in V1 I simply use: Public Function write(myFile As String) As MetaData
Dim Client As DropNetClient = New DropNetClient(Konstanten.DropboxAppKey, Konstanten.DropboxApp...
Greg-DB
Dropbox Community Moderator
9 years agoAs a security feature, each exact redirect URI does need to be pre-registered.
If you don't know the redirect URI ahead of time, one thing you may be able to do instead is to use one static redirect URI but encode the necessary information in the 'state' parameter, and decode it as necessary after the redirect back to your app, to handle it as necessary:
https://www.dropbox.com/developers/documentation/http/documentation#authorization
Alternatively, you could forgo using a redirect URI entirely. With the "code" flow, you can omit redirect_uri and have the user copy and paste the code manually. (Or, for the "token" flow, you can use https://www.dropbox.com/1/oauth2/display_token as the redirect URI and have the user copy and paste the access token.)
If you don't know the redirect URI ahead of time, one thing you may be able to do instead is to use one static redirect URI but encode the necessary information in the 'state' parameter, and decode it as necessary after the redirect back to your app, to handle it as necessary:
https://www.dropbox.com/developers/documentation/http/documentation#authorization
Alternatively, you could forgo using a redirect URI entirely. With the "code" flow, you can omit redirect_uri and have the user copy and paste the code manually. (Or, for the "token" flow, you can use https://www.dropbox.com/1/oauth2/display_token as the redirect URI and have the user copy and paste the access token.)
JMagnat
9 years agoExplorer | Level 3
A static redirect URI? What could this be? I think I must use a format like "https:\\aWebSide.com\anything" but this side doesnt exist and dropbox will send the users browser to them.
With ApiV1 the user connect to dropbox and my app get the token to download anything to dropbox. This isnt a web app.
- JMagnat9 years agoExplorer | Level 3
I see this code in an example
var builder = new UriBuilder( Uri.UriSchemeHttps, this.Request.Url.Host); builder.Path = "/Home/Auth"; return builder.ToString();But this generates no static Uri. How can I register this kind of redirectUri in the my dropbox app profile?
- Greg-DB9 years ago
Dropbox Community Moderator
A "static redirect URI" would just be some unchanging URL that you could rely on, as a place to send your users. You don't necessarily need to use that technique, but if you do you should only use a URI that you trust (ideally something you control) and that you sure will continue being available.
The example I linked to is built as a web app though, where the redirect URI would be just be a URL for the app.
Since it sounds like you're not building a web app, that doesn't apply here. In that case, the SimpleTest or UniversalDemo samples would be a better reference for you. Check those out to see how this can be handled in a client-side application.
- JMagnat9 years agoExplorer | Level 3
Hi Greg,
I add a webbrowser control to my app and now I can add files to ther dropbox. Thanx for the help.
I use
Dim myReturn As Files.FileMetadata = Await bindDropbox.Client.Files.UploadAsync("/Backups/" + bindDropbox.Filename, WriteMode.Overwrite.Instance, body:=myFilestream)My File exists in the Dropbox and Dropbox shows me realtime that I added a file.
But... the UploadAsync never ends and never return to my app. What could be the reason?
- Greg-DB9 years ago
Dropbox Community Moderator
When using UploadAsync with Await, the call should block until the upload is complete, and then return once it is. This is working properly for me.
How are you checking this behavior? Have you stepped through your code with a debugger? You may wish to do so if you haven't already. - JMagnat9 years agoExplorer | Level 3
Of course I step through the code. I do the call to UploadAsync and my dropbox shows me that the uploaded file is arrived.
But the call is never come back to the app.
In the webbrowsers Navigating-event I call my write method like
If bindDropbox.write(bindDropbox.BackupDestination) Is Nothing Then MessageBox.Show("ERROR") End IfbindDropbox is a seperate class and the write method is this
Public Shared Async Function write(myFile As String) As System.Threading.Tasks.Task(Of Files.FileMetadata) Try Dim myReturn As Files.FileMetadata = Await bindDropbox.Client.Files.UploadAsync("/Backups/" + bindDropbox.Filename, WriteMode.Overwrite.Instance, body:=New MemoryStream(File.ReadAllBytes(myFile))) Return myReturn Catch ex As Exception Return Nothing End Try End FunctionI have really no idea why UploadAsync isnt coming back.
- Greg-DB9 years ago
Dropbox Community Moderator
I unfortunately can't seem to reproduce this behavior. Can you share a small sample project that reproduces this? Thanks in advance! - JMagnat9 years agoExplorer | Level 3
I built a demo version and... I solved it. :grinning:
I blocked the task with another running task in it.
Now it works. Thanks for the help.
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!