You might see that the Dropbox Community team have been busy working on some major updates to the Community itself! So, here is some info on what’s changed, what’s staying the same and what you can expect from the Dropbox Community overall.
Forum Discussion
Nickk888
7 years agoExplorer | Level 3
.NET C# - Check and download/Sync missing files with local files
Hello everyone! I'm stuck for 2 days now with the API... I'm creating a game launcher where i need to download(sync), all the files for the game Client from Dropbox to the User. My goal is to c...
- 7 years ago
[Cross-linking for reference: https://stackoverflow.com/questions/52625933/net-c-sharp-check-and-download-sync-missing-files-with-local-files-using-drop ]
"use the file size as a reference?"
I do not recommend using size, as that can result in false positives. That is, two files can have the same size but different contents.
"How can i check if a specific file has been modified in the dropbox directory comparing it with the local files(If it hjas been downloaded before)?"
One way to do this would be to record which "rev" you downloaded, that is, the FileMetadata.Rev, included with the file download. When you check again later (e.g., from GetMetadata or ListFolder[Continue]), if the rev hasn't changed, you know you still have the latest copy. If the rev has changed, the file data may have changed.
Alternatively, you can check the FileMetadata.ContentHash. That can directly indicate if you have the same file data. You can find information on how that works here.
"How can i download the file asynchronously to the same local folder?"You can use the DownloadAsync method to download files, as seen in the examples here and here. What you do with the file data is up to you. For instance, unlike those examples, it sounds like you want to save the data to the local filesystem.
"How can i implement a progress bar showing the file name AND the progress in percent(0-100)?"The Dropbox API v2 .NET SDK does not offer progress listeners, but I'll be sure to pass this along as feedback. You can track progress from the download stream itself though as shown in this thread.
Здравко
Legendary | Level 20
mikesam wrote:...
If yes, do we need to hardcode the token and make it available to all client user?
...
Hi mikesam,
Any kind of authentication info (including token) should be handled with care. Such information should be embedded only when application gonna be used on server side or by responsible person (or limited set of persons). In any other case embedding such information can be considered as a security hole. It can be dangerous for both the authenticated account as well as application users. So, such thing should be performed with extreme care and it's generally discouraged!
mikesam
3 years agoExplorer | Level 4
Hi Здравко,
Thanks for you reply.
Do you have any better suggestions if I had the same use case as Nickk?
The idea was have a game launcher can get up-to-date files from dropbox (specified folder)
Without write access to that token would be fine I guess.
Best Regards,
Mike
- Здравко3 years agoLegendary | Level 20
mikesam, to be honest, I'm not certain what you are asking actually. Greg's post above describes things in useful manner. Can you clarify what isn't working for you or what exactly you can't understand? 🧐
Add: Something missing, both in OP and in Greg's answer too, is at present long lived access token is not issued anymore. This type of token is obsolete, in spite existing can still be used. Its successor is refresh token (for long term access). So, you may consider refresh token usage instead of long-lived access token, if applicable. Keeping the code from OP (or similar) without any change gonna require re-authentication on regular basis (like every 4 hours). This is a recent change.
- mikesam3 years agoExplorer | Level 4
Hi Здравко
Thanks for your reply.
I'm stucking at the examples, seems that examples no longer work.
And some of the page/link of reply from Greg was broken.
Best Regards,
Mike
- Здравко3 years agoLegendary | Level 20
Would be fine if you have supplied a reference to the example you are evaluating and the code-line where issues are rising from.
As far as I can see, you are trying to upload something and file content get directed to as metadata instead of as file content (as should be). This comes/can be seen from the error message. 🤔 I don't know what actually does confuse you. Review your code. 😉
- Greg-DB3 years agoDropbox Staff
mikesam As Здравко mentioned, it's not recommended to distribute any access tokens for your own account to other users. You can technically now use scopes to restrict an app/access token to only have read and not write access, but it still would be a bad security practice to distribute your access token(s). You may be better served by a more general purpose CDN.
About Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
5,910 PostsLatest Activity: 3 days agoIf 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 or Facebook.
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!