Проблема была вызвана escape-символом \"
в коде. Я тестирую тот же код из документа и вижу то же сообщение об ошибке Invalid URL format specified in @odata.bind for members
. Поэтому я изменил свой код, как показано ниже:
var additionalData = new Dictionary<string, object>()
{
{"owners@odata.bind", new List<string>()},
{"members@odata.bind", new List<string>()}
};
(additionalData["members@odata.bind"] as List<string>).Add("https://graph.microsoft.com/v1.0/users/xxxxx");
(additionalData["owners@odata.bind"] as List<string>).Add("https://graph.microsoft.com/v1.0/users/xxxxx");
var group = new Group
{
Description = "Group with designated owner and members",
DisplayName = "huryNewGroup",
GroupTypes = new List<String>()
{
"Unified"
},
MailEnabled = true,
MailNickname = "operations2019",
SecurityEnabled = false,
AdditionalData = additionalData
};
Запустив код, я успешно создал группу с участниками.
Кстати, мы можем столкнуться с проблемой разрешения. Сначала я добавил только разрешение Group.ReadWrite.All
для приложения, но оно показывает, что у меня нет разрешения, когда я запускаю код. Затем я добавил другие разрешения Directory.ReadWrite.All, Directory.AccessAsUser.All
, все работает нормально (насколько я знаю, есть небольшие проблемы с разрешениями Group
, поэтому вам лучше добавить другие разрешения Directory
)
Надеюсь, это поможет ~