C# / Azure AD / Graph API - 使用 Open Extensions 设置额外的用户属性
C# / Azure AD / Graph API - set additional user attributes with Open Extensions
我正在尝试使用 Microsoft Graph 向我在 Azure Active Directory 中新创建的用户对象添加一些自定义属性。
我的代码如下所示:
public async Task addUser(string firstName, string lastName)
{
var mail = firstName.ToLower() + "." + lastName.ToLower() + "@mail.com";
var user = new User
{
AccountEnabled = true,
UserPrincipalName = mail,
PasswordProfile = new PasswordProfile
{
ForceChangePasswordNextSignIn = true,
Password = randomString(10) // I wrote a dedicated function here
},
};
var res = await graphServiceClient
.Users
.Request()
.AddAsync(user);
await addExtension(res.Id);
}
public async Task addExtension(string id)
{
var extension = new OpenTypeExtension
{
ExtensionName = "com.test.test", // necessary I guess
AdditionalData = new Dictionary<string, object>
{
{"NewAttribute1", "Batman"},
{"NewAttribute2" , "Spiderman"}
}
};
await graphServiceClient
.Users[id]
.Extensions
.Request()
.AddAsync(extension);
}
我目前收到的错误消息是:
Message: One or more properties contains invalid values.
Inner error:
AdditionalData:
...
我在这里定位自己:
希望有人能帮忙,
谢谢!
我设法使我的程序运行。上面的代码实际上是正确的,经过一些调整后现在对我来说很好。
我不得不单独阅读扩展,如下所示。访问 user.Extensions
属性 对我不起作用。希望这对以后的人有帮助:)
public async Task getUserExtensions(string userID, string extensionID)
{
var extension = await configuration
.configure()
.Users[userID]
.Extensions[extensionID]
.Request()
.GetAsync();
foreach (var item in extension.AdditionalData)
{
Console.WriteLine($"{item.Key} | {item.Value}");
}
}
我正在尝试使用 Microsoft Graph 向我在 Azure Active Directory 中新创建的用户对象添加一些自定义属性。
我的代码如下所示:
public async Task addUser(string firstName, string lastName)
{
var mail = firstName.ToLower() + "." + lastName.ToLower() + "@mail.com";
var user = new User
{
AccountEnabled = true,
UserPrincipalName = mail,
PasswordProfile = new PasswordProfile
{
ForceChangePasswordNextSignIn = true,
Password = randomString(10) // I wrote a dedicated function here
},
};
var res = await graphServiceClient
.Users
.Request()
.AddAsync(user);
await addExtension(res.Id);
}
public async Task addExtension(string id)
{
var extension = new OpenTypeExtension
{
ExtensionName = "com.test.test", // necessary I guess
AdditionalData = new Dictionary<string, object>
{
{"NewAttribute1", "Batman"},
{"NewAttribute2" , "Spiderman"}
}
};
await graphServiceClient
.Users[id]
.Extensions
.Request()
.AddAsync(extension);
}
我目前收到的错误消息是:
Message: One or more properties contains invalid values.
Inner error:
AdditionalData:
...
我在这里定位自己:
希望有人能帮忙, 谢谢!
我设法使我的程序运行。上面的代码实际上是正确的,经过一些调整后现在对我来说很好。
我不得不单独阅读扩展,如下所示。访问 user.Extensions
属性 对我不起作用。希望这对以后的人有帮助:)
public async Task getUserExtensions(string userID, string extensionID)
{
var extension = await configuration
.configure()
.Users[userID]
.Extensions[extensionID]
.Request()
.GetAsync();
foreach (var item in extension.AdditionalData)
{
Console.WriteLine($"{item.Key} | {item.Value}");
}
}