У меня есть метод POST и я хочу получить пользователя от объекта IGraphServiceClient ( graph.microsoft ).Метод GET работает отлично.Затем я беру пользователя из этого списка и устанавливаю его в качестве параметра для моего метода POST.
public async Task<Dictionary<string, List<string>>> GetUserGroupsAsync(ICollection<string> userIds)
{
var aggregatedUserGroupMap = new Dictionary<string, List<string>>();
foreach (string userId in userIds)
{
try
{
var userMemberOfCollectionRequest = graphServiceClient.Users[userId].MemberOf.Request();
var userMemberOfCollection = await userMemberOfCollectionRequest.GetAsync().ConfigureAwait(false);
if (!aggregatedUserGroupMap.ContainsKey(userId)) { aggregatedUserGroupMap.Add(userId, new List<string>()); }
foreach (var memberOf in userMemberOfCollection) { aggregatedUserGroupMap[userId].Add(memberOf.Id); }
}
catch (Exception ex)
{
throw ex;
}
}
return aggregatedUserGroupMap;
}
Значением входящего объекта userIds является адрес электронной почты пользователя, скопированный из результата GET.Объект (первая строка в методе) userMemberOfCollectionRequest выглядит нормально.RequestUrl в нем содержит "https://graph.microsoft.com:443/v1.0/users/my-email@compagny.com/memberOf". Заголовки и QueryOptions пусты. (Count = 0)
При вызове (в методе выше)
var userMemberOfCollection = await userMemberOfCollectionRequest.GetAsync().ConfigureAwait(false);
Я получаюисключение.
Request_ResourceNotFound
Ресурс 'my-email@compagny.com' не существует или один из его запрашиваемых объектов ссылочных свойств отсутствует.
в Microsoft.Graph.HttpProvider.SendAsync (запрос HttpRequestMessage, завершение опции HttpCompletionOption, CancellationToken cancellationToken) в Microsoft.Graph.BaseRequest.SendRequestAsync (объект serializableObject, Свойство Свойство Свойства завершении_Агентства_ОбъявленияЗаключение_переменения.взыскания).serializableObject, CancellationToken cancellationToken, HttpCompletionOption completeOption) в Microsoft.Graph.UserMemberOfCollectionWithReferencesRequest.GetAsync (CancellationToken cancellationToken) в xxx.xxx.BusinessComponent.GraphBC.GetUserGroups`ync:рабочая область \ xxx \ xxx.xxx \ xxx.xxx.Core \ BusinessComponent \ GraphBC.cs: строка 50
У вас есть идея, где мне следует искать, чтобы решить эту проблему?
Спасибо за помощь!Frank