1

Я хотел бы иметь возможность программно получить имя и менеджер с помощью кода пользователя похожее на следующее:Могу ли я развернуть надстройку SharePoint с профилями пользователей (социальные) | Прочитать в AppStore SharePoint?

using (var clientContext = TokenHelper.GetClientContextWithAccessToken(hostWeb.ToString(), accessToken)) 
    { 
     var peopleManager = new PeopleManager(clientContext); 
     var personProperties = peopleManager.GetPropertiesFor(loginName); 
     clientContext.Load(personProperties); 
     clientContext.ExecuteQuery(); 
     property = personProperties.UserProfileProperties[requestedProperty].ToString(); 
     return property; 
    } 

на приложение без User Profiles (Social) разрешения, я получаю Access Denied на ExecuteQuery(). Я предполагаю, что вам нужно разрешение User Profiles (Social) | Read на приложение, чтобы иметь возможность сделать это. Я попытался загрузить приложение с этим разрешением на сайте dev, и мне сказали, что мне нужно быть администратором арендатора, и теперь у меня возникает вопрос, действительно ли это разрешение для приложения на базе магазина.

Возможно ли получить доступ к данным пользователя, таким как PreferredName и Manager, с помощью PeopleManager в приложении в AppStore SharePoint? Если нет, возможно ли получить доступ к этим данным неинтерактивным способом с помощью Microsoft Graph?

ответ

0

Вы можете получить эти данные с помощью Microsoft Graph с простыми запросами, такими как https://graph.microsoft.com/v1.0/me, чтобы получить текущий профиль пользователя и https://graph.microsoft.com/v1.0/me/manager, чтобы получить менеджера. Вы можете найти образец кода Microsoft Graph .Net SDK здесь: https://github.com/microsoftgraph/aspnet-snippets-sample

+0

Получение свойств, таких как/me и/me/manager, подразумевает интерактивный процесс входа в систему. Мне нужно получить данные пользователя (менеджер, полное имя), без необходимости входа в систему. Я уже прошел этот проект GitHub, но он не дает возможности получить эти данные без регистрации пользователя, насколько я могу судить. –