gpt4 book ai didi

c# - 使用 Graph API 将成员添加到 azure 事件目录中的组给出 URl 无效错误

转载 作者:行者123 更新时间:2023-12-04 09:34:54 26 4
gpt4 key购买 nike

我正在尝试使用 C# 中的 Graph API 将成员添加到 Azure 事件目录中的组,但是当我运行代码时,出现以下错误:

ServiceException: Code: BadRequest
Message: Invalid URL formatspecified in @odata.bind for members


下面是我的代码:
[AuthorizeForScopes(Scopes = new[] { Constants.GroupMemberReadWriteAll, Constants.DirectoryReadAsUser })]
public async Task<IActionResult> AddMembersToGroup()
{
MSGraphs.GraphServiceClient graphClient = GetGraphServiceClient(new[] { Constants.GroupMemberReadWriteAll, Constants.DirectoryReadAsUser });

var group = new MSGraphs.Group
{
AdditionalData = new Dictionary<string, object>()
{
{"members@odata.bind", "[\"https://graph.microsoft.com/v1.0/directoryObjects/c6e5c868-e2bd-46b0-b5f3-c39b5dfe42dc\",\"https://graph.microsoft.com/v1.0/directoryObjects/b2fc878b-a455-4315-b9e1-8594cbad3404\",\"https://graph.microsoft.com/v1.0/directoryObjects/79f06743-3bee-418e-8f4e-b381ebdfafc2\"]"}
}
};

await graphClient.Groups["{29f7e645-8de1-45fc-80a5-e76e0fa51340}"]
.Request()
.UpdateAsync(group);

return Ok();
}
如果我在这里遗漏了什么,请告诉我。

最佳答案

您可以使用字符串数组,而不是将成员作为字符串(以及预期的 JSON 序列化)提供:

var group = new MSGraphs.Group
{
AdditionalData = new Dictionary<string, object>()
{
{
"members@odata.bind",
new string[]
{
"https://graph.microsoft.com/v1.0/directoryObjects/c6e5c868-e2bd-46b0-b5f3-c39b5dfe42dc",
"https://graph.microsoft.com/v1.0/directoryObjects/b2fc878b-a455-4315-b9e1-8594cbad3404",
"https://graph.microsoft.com/v1.0/directoryObjects/79f06743-3bee-418e-8f4e-b381ebdfafc2"
}
}
}
};
这样,.NET 可以在之后处理序列化。

关于c# - 使用 Graph API 将成员添加到 azure 事件目录中的组给出 URl 无效错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62634140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com