GraphServiceClient UpdateAsyn c () ошибка выброса Ресурс '' не существует или один из его запрашиваемых объектов ссылочных свойств отсутствует - PullRequest
0 голосов
/ 11 марта 2020

Я использую приведенный ниже код для обновления custom extension claim attribute, но он не работает.

GraphServiceClient UpdateAsync() ошибка метания метода

  var graphServiceClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) =>
            {
               requestMessage.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", graphapitoken);
                return Task.FromResult(0);
            }));

var  dictionary = new System.Collections.Generic.Dictionary<string, object>();
            dictionary ["extension_clientid_moviename"] = "SampleValue";

 await graphServiceClient.Users["abcdxyz@hotmail.com"] // here I'm getting error 
                .Request()
                .UpdateAsync(new User()
                {
                    AdditionalData = dictionary
                });

Ошибка:

Code: Request_ResourceNotFound\r\nMessage: Resource 'abcdxyz@hotmail.com' does not exist or one of its queried reference-property objects are not present.

Обновление 1:

Я создал расширения, следующие за статьей.

https://www.rahulpnath.com/blog/azure-ad-custom-attributes-and-optional-claims-from-an-asp-dot-net-application/

Я использовал команды Powershell для создания extensions.

extension_clientid_moviename - это расширение имени.

1 Ответ

0 голосов
/ 12 марта 2020

Для гостевых пользователей вы не можете использовать их электронную почту для запроса пользователя, вместо этого следует использовать их Идентификатор объекта .

enter image description here

Кроме того, вы можете добавлять пользовательские данные к ресурсам, используя extensions .

Обновление:

Вам нужно User.ReadWrite.All permission.

enter image description here

Go на Azure portal-> регистрации приложений-> ваше приложение-> разрешения API, чтобы проверить, добавили ли вы разрешение и предоставлено согласие администратора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...