示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }