簡體   English   中英

創建傳入用戶對象的用戶 (Microsoft Graph)

[英]Create a user passing in a user object (Microsoft Graph)

我正在嘗試使用以下鏈接使用 Microsoft 圖形調用創建用戶: https : //docs.microsoft.com/en-us/graph/api/user-post-users? view=graph-rest-1.0 &tabs=夏普

但是,有沒有辦法通過在 azure 函數中傳入 User 對象或用戶對象的 json 表示作為參數來創建用戶,如下所示?

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

另外,有沒有辦法讀取整個 req.Body(帶有附加屬性)並創建用戶,而不是僅應用所需的參數(如下所示)? 每個用戶都有不同的屬性

{
    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 做一個 post 請求:

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM