Dropbox API Support & Feedback
Find help with the Dropbox API from other developers.
The organization I work for uses Dropbox APIs to sync manuals and firmware files located in a server, to the Dropbox account of its users.
It would be ideal if we could sync the whole folder with all users.
But it is not possible as we do not want users to see each other names (for privacy reasons and because users are competitors).
So, instead, we are syncing files manually. We periodically compare each user's files with the ones in the server and then sync them. It works fine, but it is quite resource-demanding as we need to make a lot of calls to retrieve the users files, our files, check for corrispondencies, etc.
The question is: is there a smarter way to do this?
If not, is there a way we can compare entire folders (and contained subfolders) without having to compare each file manually?
Thanks!
Hi @Oswego,
I confess can't understand exactly what you mean.
@Oswego wrote:
... we fetch the list of files to be synced with that particular user, we fetch the list of files that user already has synced, we go through both lists and check if something is missing and we sync it, we remove stuff in excess and we update them if there have been changes.
...With the 'share folder' functionality you do not have to take care of all these middle steps, as Dropbox will do it for you; but if you upload files to someone's account you do have to go through all this. ...
Here either you contradict to yourself or have something completely different in mind (could be something between). There is no way Dropbox to ditribute different set of files your have uploaded to a single place to different users (I don't know for such a feature, at least) and most other systems either for common use (like Dropbox) or even specialized are not able to do this. So, if you want automatic distinct distribution for every one "particular user", then you have to do it yourself and don't rely "Dropbox will do it". If you mean same set be distributed to different users, that's something completely different. Then I have no idea why you "fetch the list of files that user already has synced". Isn't this list same for all users? When you have the same distribution then "Dropbox will do it for you". 😉 You should clarify for yourself what actually you are looking for. Possible solutions could differ significantly.
@Oswego wrote:...
The question is, is there a way to sync the user's files to the user's folder with 1 API call? 🙂
Definitely "with 1 API call" no. There is possibility for upload session, but I suppose that's not what you are looking for, because this is a set of API calls again.
Following you entire explanation, seems you question is not related to Dropbox API generally, I think. Your concern is how to separate shared content (same content for everybody), so attendee to this content to know only for you and for nobody between else. Am I right? You haven't state this explicitly, only partially. If so, you ask for a new feature actually. I mean Dropbox system feature. Once such a feature comes up you can share the content either with or without using API.
In such a case you can ask for new feature as a "new idea" (very slow and not even guarantee that someone will take attention) or, if you are business user with enough level of support, call directly by phone and ask there. Generally this is a good idea! 😉
Good luck!
@Oswego wrote:The organization I work for uses Dropbox APIs to sync manuals and firmware files located in a server, to the Dropbox account of its users.
...So, instead, we are syncing files manually. We periodically compare each user's files with the ones in the server and then sync them. ...
The question is: is there a smarter way to do this?
...
Hi @Oswego,
I'm getting confused. You use Dropbox API in your work, but the files are syncing manually!?? This doesn't make sense! And, why you should compare each user's files before upload new version? I can't understand.
If you have a set of known files you can upload all of them to everyone user's account independently and nobody will know something for others. That's matter of simple script if the set is fixed and might be little bit more complicated if files structure is more complex. You should know this if you are using API already. 🤔
Good luck!
Hi @Здравко ,
Thanks for your answer.
Let me explain better; when I say "syncing files manually" what I mean is: we fetch the list of files to be synced with that particular user, we fetch the list of files that user already has synced, we go through both lists and check if something is missing and we sync it, we remove stuff in excess and we update them if there have been changes.
We do this via the API.
Even though no human is doing it, it is a crumblesome process and pretty heavy on our servers.
With the 'share folder' functionality you do not have to take care of all these middle steps, as Dropbox will do it for you; but if you upload files to someone's account you do have to go through all this. That means, tons of API calls to sync file by file.
The question is, is there a way to sync the user's files to the user's folder with 1 API call? 🙂
Hi @Oswego,
I confess can't understand exactly what you mean.
@Oswego wrote:
... we fetch the list of files to be synced with that particular user, we fetch the list of files that user already has synced, we go through both lists and check if something is missing and we sync it, we remove stuff in excess and we update them if there have been changes.
...With the 'share folder' functionality you do not have to take care of all these middle steps, as Dropbox will do it for you; but if you upload files to someone's account you do have to go through all this. ...
Here either you contradict to yourself or have something completely different in mind (could be something between). There is no way Dropbox to ditribute different set of files your have uploaded to a single place to different users (I don't know for such a feature, at least) and most other systems either for common use (like Dropbox) or even specialized are not able to do this. So, if you want automatic distinct distribution for every one "particular user", then you have to do it yourself and don't rely "Dropbox will do it". If you mean same set be distributed to different users, that's something completely different. Then I have no idea why you "fetch the list of files that user already has synced". Isn't this list same for all users? When you have the same distribution then "Dropbox will do it for you". 😉 You should clarify for yourself what actually you are looking for. Possible solutions could differ significantly.
@Oswego wrote:...
The question is, is there a way to sync the user's files to the user's folder with 1 API call? 🙂
Definitely "with 1 API call" no. There is possibility for upload session, but I suppose that's not what you are looking for, because this is a set of API calls again.
Following you entire explanation, seems you question is not related to Dropbox API generally, I think. Your concern is how to separate shared content (same content for everybody), so attendee to this content to know only for you and for nobody between else. Am I right? You haven't state this explicitly, only partially. If so, you ask for a new feature actually. I mean Dropbox system feature. Once such a feature comes up you can share the content either with or without using API.
In such a case you can ask for new feature as a "new idea" (very slow and not even guarantee that someone will take attention) or, if you are business user with enough level of support, call directly by phone and ask there. Generally this is a good idea! 😉
Good luck!
Thanks again for your reply @Здравко , I think that your suggestion is actually very good! Asking for the new feature seems the path.
Hi there!
If you need more help you can view your support options (expected response time for a 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!