我在 .Net Core 2 中使用 GraphServiceClient。我正在尝试使用以下代码向我的用户添加 AdditionalData
var updated = new User()
{
AdditionalData = new Dictionary<string, object>
{
{"OtherEmail", otherEmail},
{"OtherRole", otherRole}
},
};
await _graphClient.Users[user.Id].Request().UpdateAsync(updated);
执行时出现以下错误
Microsoft.Graph.ServiceException : Code: Request_BadRequest Message: One or more property values specified are invalid.
有谁知道我做错了什么吗?
此外,如果有人可以告诉我如何只针对用户保存我自己的一些元数据,我们将不胜感激。我也尝试过使用扩展程序,但我遇到了这个问题。
最佳答案
要将属性添加到 AdditionalData
字段,您必须在 Azure AD B2C > 用户属性(在 Azure 门户中)中定义该属性。例如,如果您创建一个 Boolean 属性 Dummy
,这将创建字段 extension_{b2c-extensions-app-id}_Dummy
其中 {b2c-extensions-app-id}
是自动生成的 b2c-extensions-app
的 Application ID,可通过导航到 Azure AD 查看B2C > 应用注册(预览版)> b2c-extensions-app 从 ID 中删除破折号 (-
)!
这将允许您执行以下操作:
var updated = new User()
{
AdditionalData = new Dictionary<string, object>
{
{"extension_0000000000000000000000000000_Dummy", false}
},
};
await _graphClient.Users[user.Id].Request().UpdateAsync(updated);
关于c# - Azure AD GraphServiceClient 无法针对用户设置 AdditionalData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53671020/