We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

roman prog 89 level_'s avatar
roman prog 89 level_
Explorer | Level 3
4 years ago

Dropbox API C#

Hello! Tell me please

How to write C # code correctly.

For a complete list of Teams folders and files.
Here is a sample code to get a list of folders for a single Dropbox user.

using (var dbx = new DropboxClient(token))
 {
     var list = await dbx.Files.ListFolderAsync(string.Empty, true);
     foreach (var item in list.Entries.Where(i => i.IsFolder))
           {
                 Console.WriteLine(item.PathDisplay);
           }
 }

 

For a list of Team folders or All Dropbox users. i am trying this method. But the list of folders is not complete.

 

using (var client = new DropboxTeamClient(token))
{
var members = await client.Team.MembersListAsync();
foreach (var member in members.Members.OrderBy(a => a.Profile.Email))
{
var Name = member.Profile.Name.DisplayName;
Console.WriteLine(Name);
var userClient = client.AsMember(member.Profile.TeamMemberId);
var list = await userClient.Files.ListFolderAsync(string.Empty, true);
var x = list.Entries.Where(i => i.IsFolder); //i.IsFolder);
foreach (var item in x) //list.Entries.Where(i => i.IsFolder));
{
Console.WriteLine(item.PathDisplay);
}
}

 

When using code like this. the list of root folders turns out to be correct, but does not show subfolders.

 

using (var dbx = new DropboxClient(token)) 
{

var accountInfo = await dbx.Users.GetCurrentAccountAsync();
Console.WriteLine(accountInfo.RootInfo.RootNamespaceId);
var dbx2 = dbx.WithPathRoot(new Dropbox.Api.Common.PathRoot.Root(accountInfo.RootInfo.RootNamespaceId));
var list = await dbx2.Files.ListFolderAsync(string.Empty, true);
var PathFolder = list.Entries.Where(i => i.IsFolder);

foreach (var item in PathFolder)
{
Console.WriteLine(item.PathDisplay);
}

}

What is the correct code to get a complete list of all folders and subfolders in the Dropbox team?