Apps and Installations
Have a question about a Dropbox app or installation? Reach out to the Dropbox Community and get solutions, help, and advice from members.
I'm trying to get the contents of a folder for downloading from Dropbox in C# using the HTTP libraries. So far I've been trying to use a console application project in Visual Studio but don't seem to be making alot of headway.
What I would like to do is A) See if there are files in the folders and then B) download then to a location (in this case a SharePoint library but I can't seem to make the initial connection using .Net 3.5
Code sample so far:
static void Main(string[] args) { using (WebClient client = new WebClient()) { var URI = new Uri("https://api.dropboxapi.com/2/files/list_folder"); client.Headers.Set("Content-Type", "application/json"); client.Headers.Add("Authorization", "Bearer <MyApplicationAccessToken>"); // data var reqparm = new System.Collections.Specialized.NameValueCollection(); reqparm.Add("path", "/<MyApplicationFolder>/"); reqparm.Add("recursive", "false"); reqparm.Add("include_media_info", "false"); reqparm.Add("include_deleted", "false"); reqparm.Add("include_has_explicit_shared_members", "false"); reqparm.Add("include_mounted_folders", "true"); byte[] reqBytes = Encoding.ASCII.GetBytes(reqparm.ToString()); byte[] responsebytes = client.UploadData(URI, "POST", reqBytes); string responsebody = Encoding.UTF8.GetString(responsebytes); } }
Any ideas? Cant use the .Net SDK
To list files in a folder, you should use /2/files/list_folder and /2/files/list_folder/continue. To download files, you should use /2/files/download.
If an API call fails, the response will contain an error. What response body are you getting back?
Thanks Greg, I'm getting a 400 Error (Bad Request) . However, I'm able to use the same parameters and headers in RestMan via Chrome but I don't "fool" the Server into thinking this is coming from a Browser.
Is there a functional code sample using C# and HTTP for DropBox?
Above is a Restman call that gives me a cursor - so I'm trying to replicate that request in code.
It looks like the parameters I'm sending are not in JSON format (see below):
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!