Я использую C#.net GraphServiceClient для управления элементом списка Sharepoint. Я могу получить доступ к полю, используя IDictionary<string, object> Дополнительные данные.
Предположим, что имя моего поля — EnvironmentTypes, которое представляет собой поле выбора SharePoint, допускающее множественный выбор. Когда я получаю доступ к этому полю через дополнительные данные, оно возвращается как Microsoft.Kiota.Abstractions.Serialization.UntypedArray.
Как мне работать с этим как со списком или массивом строк? Мне нужно обновить значения в этом поле.
Следующий код:
foreach (var environmentType in AdditionalData["EnvironmentTypes"].GetValue())
Console.WriteLine(KiotaJsonSerializer.SerializeAsString(environmentType));
Дает мне строку, разделенную точкой с запятой и пробелом.
Конечно, должен быть более удобный и оптимальный способ получить доступ к этому значению и обновить его?





См. ответ на этот вопрос: .NET Graph SDK Обновление значений элементов онлайн-списка Sharepoint, что показано на снимке экрана ниже. Он показывает JSON, необходимый для установки значения поля с множественным выбором.
Примечание. Если вы используете более позднюю версию Microsoft Graph SDK, вам необходимо изменить вызов Graph Client на следующий.
Добавлять: graphClient.Sites[siteId].Lists[listId].Items.PostAsync()
или
Обновлять: graphClient.Sites[siteId].Lists[listId].Items[itemId].Fields.PatchAsync()
Дополнительные сведения см. в справочнике по API Microsoft Graph.
Обновил мой ответ с дополнительной информацией
Не работает... нет такого метода, как Request() для элементов.