static async Task <TeamMemberAccountModel> MapTeamMemberAccountDetail(DropboxTeamClient teamClient, string memberId) { if (_debug) { Console.WriteLine("-------------------------------------"); Console.WriteLine("MapTeamMemberAccountDetail() called..."); } TeamMemberAccountModel teamMemberAccount = null; using (DropboxClient userClient = teamClient.AsMember(memberId)) { FullAccount fullAccount = await userClient.Users.GetCurrentAccountAsync(); teamMemberAccount = new TeamMemberAccountModel() { Email = fullAccount.Email, LastName = CheckValueForComma(fullAccount.Name.Surname), FirstName = CheckValueForComma(fullAccount.Name.GivenName) }; } if (_debug) { Console.WriteLine("----------------"); Console.WriteLine($"Email : {teamMemberAccount.Email}"); Console.WriteLine($"LastName : {teamMemberAccount.LastName}"); Console.WriteLine($"FirstName : {teamMemberAccount.FirstName}"); Console.WriteLine($"SharedFolders.Count: going to figure that out next..."); } return(teamMemberAccount); }
static async Task <List <SharedFolderModel> > GetTeamMemberShares(DropboxTeamClient teamClient, string memberId) { if (_debug) { Console.WriteLine("-------------------------------------"); Console.WriteLine("GetTeamMemberShares() called..."); } // initialize here so sharedFolders in scope of return statement List <SharedFolderModel> sharedFolders = new List <SharedFolderModel>(); _sharedFoldersListCount = 0; using (DropboxClient userClient = teamClient.AsMember(memberId)) { ListFoldersResult sharedFoldersList = await userClient.Sharing.ListFoldersAsync(); sharedFolders = await ProcessSharedFoldersList(userClient, sharedFoldersList); if (_debug) { // before ...ContinueAsync() count Console.WriteLine("----------------"); Console.WriteLine($"Total shared folders count: {_sharedFoldersListCount}"); Console.WriteLine($"Any more shared folders? sharedFoldersList.Cursor: {sharedFoldersList.Cursor}"); } // iterate over pages from userClient.Sharing.ListFoldersContinueAsync if list.Cursor is set while (sharedFoldersList.Cursor != null) { if (_debug) { Console.WriteLine("----------------"); Console.WriteLine($"sharedFoldersList.Cursor not null: {sharedFoldersList.Cursor}"); Console.WriteLine("Preparing to continue..."); } // sharedFoldersList.Cursor flips to null once all folders are listed via ListFoldersContinueAsync() sharedFoldersList = await userClient.Sharing.ListFoldersContinueAsync(sharedFoldersList.Cursor); List <SharedFolderModel> sharedFoldersCursorList = await ProcessSharedFoldersList(userClient, sharedFoldersList); sharedFolders.AddRange(sharedFoldersCursorList); if (_debug) { // after ...ContinueAsync() count Console.WriteLine("----------------"); Console.WriteLine($"Total shared folders count with continue: {_sharedFoldersListCount}"); } } } return(sharedFolders); }
public async Task TestTeamAuthSelectUser() { var result = await TeamClient.Team.MembersListAsync(); var memberId = result.Members[0].Profile.TeamMemberId; var userClient = TeamClient.AsMember(memberId); var account = await userClient.Users.GetCurrentAccountAsync(); Assert.AreEqual(account.TeamMemberId, memberId); }
/// <summary> /// Run tests for team-level operations. /// </summary> /// <param name="client">The Dropbox client.</param> /// <returns>An asynchronous task.</returns> private async Task RunTeamTests(DropboxTeamClient client) { var members = await client.Team.MembersListAsync(); var member = members.Members.FirstOrDefault(); if (member != null) { // A team client can perform action on a team member's behalf. To do this, // just pass in team member id in to AsMember function which returns a user client. // This client will operates on this team member's Dropbox. var userClient = client.AsMember(member.Profile.TeamMemberId); await RunUserTests(userClient); } }