We’re Still Here to Help (Even Over the Holidays!) - find out more here.
Forum Discussion
Fire_walker
8 years agoExplorer | Level 4
Dropbox API question
Hi, I have a .Net application running on client's machines and would like to add some functionality to the application that would enable uploading of files from the client side. 1) Through my...
- 8 years ago
1) Yes, using the Dropbox API, you can create, share, and upload files to folders. For .NET, we recommend using the official Dropbox API v2 .NET SDK. In this case, it sounds like you'll want to:
- use ShareFolder to create/share a folder
- use AddFolderMember to invite another user to the shared folder
- use Upload to upload files to the shared folder
2) A Dropbox account is necessary for interacting with the Dropbox API, e.g., to upload files. Note that the computer doesn't need the official Dropbox desktop client application installed though. When you use the Dropbox API, you are commuicating directly with the Dropbox servers.
3) In this case I recommend using the official Dropbox API v2 .NET SDK. There are instructions there for installing it.
4) In addition the standard space quota you mentioned, the Dropbox API does have a rate limiting system, based on the rate of API calls (not bandwidth). It is only designed to prevent abuse though, and is relatively very generous. Further, the limits operate on a per-user basis. Also, note that some Dropbox Business plans do have a monthly limit on the number of upload API calls they can make.
- 8 years agoAll API calls (e.g., creating a shared folder, inviting members, and uploading files) can be run automatically without manual user intervention.
The only part that requires manual user intervention is authorizing the app itself, via the OAuth 2 app authorization flow. Once that's done though, the resulting access token can be stored and re-used without further manual intervention.
Note that your app does need to be running in order to issue the calls though.
Also, it sounds like you may want to be able to issue these while offline. The Dropbox API operates by having your app communicate directly with the Dropbox servers, so you need an Internet connection to make the calls. If you don't have a connection, you can queue the calls up, but this isn't something that the API/SDK offers for you; you'd need to build that in to your own logic. Alternatively, you could require that the official Dropbox desktop client application be installed, and then just write the files to the local Dropbox folder. The official Dropbox desktop client application installed would then upload the files when online. Note that we don't offer an official interface for this though. You'd just be interacting with the local filesystem.
Greg-DB
Dropbox Community Moderator
8 years ago1) Yes, using the Dropbox API, you can create, share, and upload files to folders. For .NET, we recommend using the official Dropbox API v2 .NET SDK. In this case, it sounds like you'll want to:
- use ShareFolder to create/share a folder
- use AddFolderMember to invite another user to the shared folder
- use Upload to upload files to the shared folder
2) A Dropbox account is necessary for interacting with the Dropbox API, e.g., to upload files. Note that the computer doesn't need the official Dropbox desktop client application installed though. When you use the Dropbox API, you are commuicating directly with the Dropbox servers.
3) In this case I recommend using the official Dropbox API v2 .NET SDK. There are instructions there for installing it.
4) In addition the standard space quota you mentioned, the Dropbox API does have a rate limiting system, based on the rate of API calls (not bandwidth). It is only designed to prevent abuse though, and is relatively very generous. Further, the limits operate on a per-user basis. Also, note that some Dropbox Business plans do have a monthly limit on the number of upload API calls they can make.
- Fire_walker8 years agoExplorer | Level 4
Greg, thank you so much for the reply. I have a few follow up questions. In my case, the client application (which is developed by us), when executing the first time will create a client specific SharedFolder (named using the mac address for example) on the dropbox server (my account). Can the application do that or the folder would need to be created manually by the account owner (me).
What I want next is to start sending files asynchronously to that folder which will get uploaded when the client connects to the internet, regardless of whether my application is running or not. For that to happen as I understood from your reply I need to first use AddFolderMember. Can this be done automatically without any manually intervention from the client side?
In essence I am looking for all the calls/setup to be automatic without any manual intervention.
thanks,
- Greg-DB8 years ago
Dropbox Community Moderator
All API calls (e.g., creating a shared folder, inviting members, and uploading files) can be run automatically without manual user intervention.
The only part that requires manual user intervention is authorizing the app itself, via the OAuth 2 app authorization flow. Once that's done though, the resulting access token can be stored and re-used without further manual intervention.
Note that your app does need to be running in order to issue the calls though.
Also, it sounds like you may want to be able to issue these while offline. The Dropbox API operates by having your app communicate directly with the Dropbox servers, so you need an Internet connection to make the calls. If you don't have a connection, you can queue the calls up, but this isn't something that the API/SDK offers for you; you'd need to build that in to your own logic. Alternatively, you could require that the official Dropbox desktop client application be installed, and then just write the files to the local Dropbox folder. The official Dropbox desktop client application installed would then upload the files when online. Note that we don't offer an official interface for this though. You'd just be interacting with the local filesystem.- Fire_walker8 years agoExplorer | Level 4
Thank you for the reply Greg. I do like the solution where the dropbox application is installed and I can then just write/move the files to the local dropbox folder and they get synced when the user connects to internet, however, in that case would I need to have my account signed in on every machine? Is there a workaround to that? Also, each client would have a unique folder and I want the communication to be one way just i.e. uploading the content to my account and not syncing all the folders from my account to the client machine. Would this work?
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!