创建传入用户对象的用户(Microsoft Graph)



我正试图使用以下链接使用microsoft图形调用创建一个用户:https://learn.microsoft.com/en-us/graph/api/user-post-users?view=graph-rest-1.0&tabs=csharp

但是,有没有一种方法可以通过在azure函数中传递user对象或用户对象的json表示作为参数来创建用户,如下所示?

[HttpTrigger(AuthorizationLevel.Anonymous,"post",Route="user/settings"(]HttpRequest req,ILogger logger,user user(

还有,有没有一种方法可以读取整个req。Body(w/其他属性(并创建用户,而不是仅应用所需的参数(如下所示(?每个用户都有不同的属性

{
AccountEnabled = true,
DisplayName = "displayName-value",
MailNickname = "mailNickname-value",
UserPrincipalName = "upn-value@tenant-value.onmicrosoft.com",
PasswordProfile = new PasswordProfile
{
ForceChangePasswordNextSignIn = true,
Password = "password-value"
}
};
await graphClient.Users
.Request()
.AddAsync(user);

对于您的第一个问题,我认为我们不能直接将User对象传递给函数来创建用户。但我们可以将所有属性传递到函数中来创建它。正如您提到的第二个问题,如果每个用户都有不同的属性,那么创建用户对我们来说并不容易。因此,我们可以将所有属性作为json传递到函数中,然后从req中读取json,并将这些属性连接为json字符串。之后,不要使用图形sdk来创建用户。用自己的图形api做一个帖子请求,如下代码:

string str = "{"displayName":"xxxx","mailNickname":"xxxx"}";
var content = new StringContent(str, Encoding.UTF8, "application/json");
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "your token");
var response = client.PostAsync("https://graph.microsoft.com/v1.0/users", content).Result;

相关内容

最新更新