При попытке изменить поля AboutMe, Interests или PastProjects для конкретного пользователя из Graph я получаю следующую ошибку:
Exception: Microsoft.Graph.ServiceException
Message: Code: -1, Microsoft.Office.Server.Directory.DirectoryObjectUnauthorizedAccessException
Message: Attempted to perform an unauthorized operation.
Мой код прост и вполне стандартен:
var user = new User
{
AboutMe = aboutMe, // a string
Interests = interests, // a list
PastProjects = pastProjects // also a list
};
var userTask = graphClient
.Users[userObjectIdentifier]
.Request()
.UpdateAsync(user);
Я использую AcquireTokenForClient, поэтому получаю разрешения приложения.Я хотел бы использовать это, чтобы пользователь не должен был давать согласие напрямую (это для приложения Интранет).Я также проверил токен JWT, который возвращается, чтобы убедиться, что он правильно имеет разрешения «User.ReadWrite.All» и «Directory.ReadWrite.All», которые описаны в https://docs.microsoft.com/en-us/graph/api/user-update
Они также установлены правильнона портале Azure:
Разрешения на портале Azure
При тех же разрешениях я могу получать и обновлять фотографию профиля пользователя.
Я очень застрял в этом и был бы признателен за любую помощь.Спасибо.