Microsoft Graph API 错误消息不准确

Microsoft Graph API inaccurate error message

我正在尝试使用 Microsoft Graph API 在 Azure AD B2C 中添加用户。当我添加一个用户时,我的代码工作得很好,但我试图用给 API (邮件、姓名等)的相同信息第二次添加它,并预期会出现像 [=14 这样的错误=]

User already exists

或类似的东西。

我的 API 调用是这样完成的:

var result = await graphClient.Users.Request().AddAsync(new User()
            {
                AccountEnabled = true,
                Mail = "example@example.onmicrosoft.com",
                MailNickname = "example",
                UserPrincipalName = "example@example.onmicrosoft.com",
                Surname = "TEST",
                DisplayName = "test",
                GivenName = "TEST test",
                PasswordProfile = new PasswordProfile
                {
                    ForceChangePasswordNextSignIn = true,
                    Password = "tmpPwd"
                }
            });

请记住,我的第一个调用正确地将用户添加到 AD,为什么 API 会 return 我这条消息:

Microsoft.Graph.ServiceException : 'Code: Request_BadRequest
Message: One or more properties contains invalid values.

提前致谢。

根据 document 使用下面的 属性 创建用户而没有 mail 。因此当用户已经存在时,您将得到如下错误

Code: Request_BadRequest
Message: Another object with the same value for property userPrincipalName already exists.

代码:

var result = await graphClient.Users.Request().AddAsync(new User()
            {
                AccountEnabled = true,
               
                MailNickname = "example",
                UserPrincipalName = "example665@XX.live",
                Surname = "TEST",
                DisplayName = "test",
                GivenName = "TEST test",
                PasswordProfile = new PasswordProfile
                {
                    ForceChangePasswordNextSignIn = true,
                    Password = "password@1234"
                }
            });
            Console.WriteLine(JsonConvert.SerializeObject(result));
        }

使用额外的 属性 可能会更改您当前收到的错误上下文