I previously made a program that goes through my entire team's DropBox permissions and creates a report from the data. It tells me their name, permissions for the current file/folder, the name of the current file/folder, and is supposed to share the parent folder's name. However, I am running into the issue of the "ParentSharedFolderID" being null even when I know from checking that the specified file/folder is in a parent folder. What could be causing this?
Here is my code:
private async void ButtonDebug_Click(object sender, EventArgs e)
{
ButtonDebug.Enabled = false;
//use dropbox client with access token from app console
using (DropboxTeamClient DBTeamClient = new DropboxTeamClient("MYCLIENTIDHERE"))
{
//get all the dropbox members
var members = await DBTeamClient.Team.MembersListAsync();
//loop through all members ordered by email alphabetical
foreach (var member in members.Members.OrderBy(a => a.Profile.Email))
{
int count = 0;
//get each user
var userClient = DBTeamClient.AsMember(member.Profile.TeamMemberId);
//actions to check
var actionsToCheck = new FolderAction[] { FolderAction.EditContents.Instance, FolderAction.InviteEditor.Instance };
//get each user's file information
var list = await userClient.Sharing.ListFoldersAsync(actions: actionsToCheck); // actions can optionally be supplied to check the permissions the user has for specific actions
//loop through the list of file and show permissions on folders
foreach (var item in list.Entries)
{
int length = item.AccessType.ToString().Length - 32 - 2;
System.Diagnostics.Debug.WriteLine("");
System.Diagnostics.Debug.WriteLine(member.Profile.Name.DisplayName);
System.Diagnostics.Debug.WriteLine(item.Name);
System.Diagnostics.Debug.WriteLine(item.AccessType.ToString().Substring(32, length));
string parentName = "N/A";
if (item.ParentSharedFolderId != null)
{
try
{
var parentSharedFolderMetadata = await userClient.Sharing.GetFolderMetadataAsync(item.ParentSharedFolderId);
System.Diagnostics.Debug.WriteLine(parentSharedFolderMetadata.Name);
parentName = parentSharedFolderMetadata.Name;
}
catch (DropboxException ex)
{
parentName = "N/A";
}
}
System.Diagnostics.Debug.WriteLine(count + "");
count++;
}
System.Diagnostics.Debug.WriteLine(count + " total folders");
}
}
ButtonDebug.Enabled = true;
}