Microsoft graph api 异常Azure AD B2C使用GraphServiceClient设置自定义属性

Microsoft graph api 异常Azure AD B2C使用GraphServiceClient设置自定义属性,microsoft-graph-api,azure-ad-b2c,Microsoft Graph Api,Azure Ad B2c,以下是这里的指示: 我能够创建并获得用户的好评: // This works! var graphServiceClient = new GraphServiceClient( $"https://graph.microsoft.com/beta", AuthenticationProvider); var user = await graphClient.Users[userId].Reque

以下是这里的指示:

我能够创建并获得用户的好评:

// This works!
var graphServiceClient = new GraphServiceClient(
                    $"https://graph.microsoft.com/beta",
                    AuthenticationProvider);
var user = await graphClient.Users[userId].Request().GetAsync();

if (user.AdditionalData == null)
    user.AdditionalData = new Dictionary<string, object>();
user.AdditionalData[$"extension_xxxxxxx_Apps] = "TestValue";
// this does not work!
result = await graphClient.Users[user.Id].Request().UpdateAsync(msGraphUser);
//这很管用!
var graphServiceClient=新的graphServiceClient(
$"https://graph.microsoft.com/beta",
认证提供商);
var user=await-graphClient.Users[userId].Request().GetAsync();
if(user.AdditionalData==null)
user.AdditionalData=新字典();
user.AdditionalData[$“扩展程序”\uxxxxxxx\u应用程序]=“测试值”;
//这不行!
结果=wait graphClient.Users[user.Id].Request().UpdateAsync(msGraphUser);
对于xxxxxxx,我在我的租户中尝试了b2c扩展应用程序中的客户端ID和对象ID

例外情况: Microsoft.Graph.ServiceException:'代码:请求\u BadRequest 消息:以下扩展属性不可用:扩展\uuxxxxxx\u应用

我缺少什么?如何从GraphServiceClient设置自定义属性

谢谢

尝试创建一个“新”用户,而不是获取现有用户。当您调用
UpdateAsync
时,B2C将只设置您提供的属性(它不会用
null
覆盖其他道具)。这可能会有帮助,也可能没有帮助,但问题是,我们正在做与您上面所做的相同的事情,只是使用了一个“新”“用户,它为我们工作

User b2cUser=wait this.GetOurUser(userId);
var additionalData=新字典();
附加数据[“扩展”\u id-of-extensions-app-here\u Foo”]=“冰淇淋筒”;
var updatedB2cUser=新用户
{
AdditionalData=AdditionalData
};
等待这个.GraphServiceClient.Users[b2cUser.Id].Request().UpdateAsync(updatedB2cUser);
在实践中,我们包括了额外的道具,例如
身份
,因为我们使用B2C作为身份提供者……因此,上面是我们B2C包装中的一些精简代码,只显示了“自定义属性”部分

更新 实际上,您可能只需要从扩展应用程序ID中删除连字符,然后再次检查您使用的是哪一个


谢谢实际上,在我用它创建了一个新用户之后,它正在更新一个现有用户。。。想想看吧