cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to List all files in the Dropbox folder using Web Request?

How to List all files in the Dropbox folder using Web Request?

saravananct143
Explorer | Level 3


string accessToken = "Token";
var request = (HttpWebRequest)WebRequest.Create("https://api.dropboxapi.com/2/files/list_folder");

request.Method = "Post";
request.Headers.Add("Authorization", "Bearer " + accessToken);
request.ContentType = "application/json";


Stream newStream = request.GetRequestStream();

var response = (HttpWebResponse)request.GetResponse();
newStream.Close();

StreamReader sr = new StreamReader(response.GetResponseStream());
string responseString = sr.ReadToEnd();

 

I'm getting this error. How can i slove this ?

The remote server returned an error: (400) Bad Request.

7 Replies 7

Greg-DB
Dropbox Staff
Using the /2/files/list_folder endpoint is the right way to begin listing the contents of a folder.

Please check the content of the response body. It should contain a more specific error message indicating what the issue is.

saravananct143
Explorer | Level 3

I'm trying this url in postman

url: https://api.dropboxapi.com/2/files/list_folder

Header : Authorization:Bearer Token

 

This following error came . How can i solve this please help me

 

Error in call to API function "files/list_folder": This function requires its argument in the HTTP request body, but your request body is empty

chirstius
Dropbox Staff

@saravananct143 looking at your code above it seems like you are not adding any content to the body of your POST request.

 

To do this for HttpWebRequest you will need to encode the data, and then add some additional code to send that data after you make the call to GetRequestStream().

There is a good example of this in Microsoft's HttpWebRequest documentation found here:

https://msdn.microsoft.com/en-us/library/d4cek6cc.aspx#Examples

Note the creation and encoding of the postData variable into a byte array, and then, later on, the writing of that data to the request stream after the call to GetRequestStream().

 

For your Dropbox API request, the postData content will be the JSON formatted parameters specified in the documentation for /list_folder that @Greg-DB referenced earlier in this thread.

 

Further, if you are using version 4.5 or newer of .NET, I would suggest looking at HttpClient vs HttpWebRequest as it provides a much simpler implementation for sending HTTP requests:

https://msdn.microsoft.com/library/system.net.http.httpclient.aspx
 

Hope that helps,

 

-Chuck

 

 

saravananct143
Explorer | Level 3
Hi @Greak , please send any sample code for authendication token generation and retriving dropbox file.

Greg-DB
Dropbox Staff
We don't have official sample code for doing this in HttpWebRequest in particular. I recommend reviewing the resources Chuck shared above for help writing your code.

saravananct143
Explorer | Level 3

Without browser verification is it possible to create a authdication token?

Greg-DB
Dropbox Staff
No, the user needs to explicitly authorize the app in the browser in order for the app to receive an access token. The app can then store and re-use the resulting access token for future API calls though, without further manual user action.
Need more support?
Who's talking

Top contributors to this post

  • User avatar
    Greg-DB Dropbox Staff
  • User avatar
    saravananct143 Explorer | Level 3
  • User avatar
    chirstius Dropbox Staff
What do Dropbox user levels mean?