Попробуйте получить доступ к свойствам пользователя с помощью REST API профиля пользователя

Я создаю рабочий процесс дизайнера SP для своего сайта SharePoint Online, чтобы получить свойства пользователя, такие как имя руководителя, местоположение, отдел и т. Д. Я использую ниже URL-адрес REST в действии «Вызов веб-службы HTTP»

https:/siteurl/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v,propertyName='Manager')?@v=%27i:0%23.f|membership|userid%27 .

Я администратор семейства веб-сайтов, но все равно получаю сообщение об ошибке -

"error":{"code":"-2147024891, System.UnauthorizedAccessException","message":{"lang":"en-US","value":"Access denied. You do not have permission to perform this action or access this resource."}}}"

Я уже предоставил полный доступ к приложению рабочего процесса. Но когда я обращаюсь к вышеуказанному URL-адресу REST в браузере, я могу видеть все свойства для любого пользователя.

Пожалуйста, дайте мне знать, где я делаю ошибку.


person Pramod Gupta    schedule 05.05.2017    source источник


Ответы (2)


Рабочий процесс должен иметь tenant-level permissions(In your case-Read), чтобы получить доступ к службе профилей пользователей, вместо того, чтобы иметь полный контроль над семейством сайтов.

При предоставлении прав убедитесь, что используется следующий XML:

<AppPermissionRequests>
    <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="Read" />
</AppPermissionRequests>

Вот полезные ссылки

person Aditi Kulkarni    schedule 08.05.2017
comment
Вот используемый XML: <AppPermissionRequests> <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="Read" /> </AppPermissionRequests> - person Hybris95; 31.08.2017

Я создал рабочий процесс, используя шаблон рабочего процесса SP 2010, доступный в SP Designer 2013. В этом шаблоне я могу напрямую запрашивать профиль пользователя и получать желаемые свойства из профиля пользователя. ref - http://www.c-sharpcorner.com/UploadFile/anavijai/how-to-start-a-sharepoint-2010-workflow-within-a-sharepoint/

использование этой опции не потребует доступа на уровне арендатора.

Ваше здоровье

person Pramod Gupta    schedule 09.05.2017
comment
Использование этой опции гарантирует, что ваш рабочий процесс устареет намного быстрее. Молодец ! - person Hybris95; 31.08.2017