获取用户详细信息时 Microsoft 图形 API 客户端中的问题

时间:2021-06-02 14:39:35

标签: graph client

当尝试并行传递用户 ADUserID 时,将其未设置的值放入 IsAzureInviteRedeemed 的属性之一)列表..意味着不会更新属性值..

 private GraphServiceClient GetGraphClient()
        {
            return new GraphServiceClient(new AzureAuthenticationProvider(_configurationSettings));
        }

public async Task<List<UserSitesViewDto>> GetUsers(List<UserSitesViewDto> lstAllUsers)
        {
            List<UserSitesViewDto> userList = new List<UserSitesViewDto>();
            StringBuilder query = new StringBuilder();
            string filter = string.Empty;
            object sync = new Object();
            Parallel.ForEach(lstAllUsers, async user =>
            {
                var requestClient = GetGraphClient().Users.Request();
                var users = (await requestClient.Select("displayName,givenName,surName,UserPrincipalName,Id,externalUserstate")
                    .Filter($"(id eq '{user.ADUserID}')")
                    .Top(1).GetAsync()).FirstOrDefault();
                lock (sync)
                {
                    string externalIUserState = users.AdditionalData.FirstOrDefault().ToString();
                    user.IsAzureInviteRedeemed = externalIUserState == "Accepted" ? true : false;
                }
            });return lstAllUsers;
        }

请在尝试调试时也不要提供帮助,否则它不会被击中它的出局方法

0 个答案:

没有答案