C# Microsoft.Graph 5.69 Ошибки (MemberOF не существует) на вызове .USERS [ObjectId] .memberOf.getAsync ()C#

Место общения программистов C#
Ответить
Anonymous
 C# Microsoft.Graph 5.69 Ошибки (MemberOF не существует) на вызове .USERS [ObjectId] .memberOf.getAsync ()

Сообщение Anonymous »

Я сталкиваюсь с проблемой на нашем сайте, где мы возвращаем ошибку 500 от API Microsoft Graph при использовании пакета Microsoft.graph ver 5.69.0 Nuget. (https://www.nuget.org/packages/microsof ... c=template). Вызов пытается получить членство пользователя. Я делаю запрос и каталог Azure B2C.

Код: Выделить всё

Microsoft.Graph.Models.ODataErrors.ODataError: Resource 'memberOf' does not exist or one of its queried reference-property objects are not present.
at Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.ThrowIfFailedResponseAsync(HttpResponseMessage response, Dictionary`2 errorMapping, Activity activityForAttributes, CancellationToken cancellationToken)
at Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.SendAsync[ModelType](RequestInformation requestInfo, ParsableFactory`1 factory, Dictionary`2 errorMapping, CancellationToken cancellationToken)
at Microsoft.Kiota.Http.HttpClientLibrary.HttpClientRequestAdapter.SendAsync[ModelType](RequestInformation requestInfo, ParsableFactory`1 factory, Dictionary`2 errorMapping, CancellationToken cancellationToken)
at Microsoft.Graph.Users.Item.MemberOf.MemberOfRequestBuilder.GetAsync(Action`1 requestConfiguration, CancellationToken cancellationToken)
at profile.usafa.org.Controllers.APIController.AzureGroups(String objectId)
at lambda_method189(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at profile.usafa.org.Startup.ProtectStaticFilesMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
< /code>
Вот код, который я использую для выполнения вызова: < /p>
var graphClient = new GraphServiceClient(clientSecretCredential);

var tempresult = await graphClient.Users[objectId].GetAsync();

DirectoryObjectCollectionResponse result = null;

result = await graphClient.Users[objectId].MemberOf
.GetAsync().;
Вы заметите, что Tempresult - это просто тестовый вызов, чтобы убедиться, что я смогу вернуть пользователя без того, чтобы Member of мешал, и этот вызов успешно.
проверяется с помощью AI на этом, и это дает мне следующее, чтобы проверить: < /p>

[*] Проверьте разрешения: убедитесь, что в вашем приложении есть необходимые разрешения для чтения член собственности. Вам нужен user.read.all или directory.read.all. Все разрешения в регистрации приложения Azure Ad. оба разрешения устанавливаются правильно
[*] Используйте правильную конечную точку API: убедитесь, что вы используете правильную конечную точку API. Свойство MemberOf должно быть доступно через конечную точку/{id}/memberOf. вызов абстрагирован, и я не уверен, как я мог бы проверить это
Обработка пустых результатов: убедитесь, что вы обрабатываете случаи, когда пользователь не может быть членом любые группы. ошибка выводится во время вызова, а не после возвращения результатов. Однако я не могу проверить его против моего каталога B2C, поскольку он не является основным каталогом, и я не смог найти способ переключения каталогов, которые сработали. Я смог принять участие в пользователе нашего основного каталога. Кодовая база на этой неделе. Первоначально я был в версии 4 Microsoft.graph, когда начал получать эту ошибку, но перешел к последней версии, чтобы попытаться решить проблему. Такая же ошибка произошла в обеих версиях.
Спасибо за любые полезные мысли, которые вы можете предоставить.

Подробнее здесь: https://stackoverflow.com/questions/793 ... l-usersobj
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»