Как управлять приложением, размещенным в SharePoint, с помощью вызовов только для приложений

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/110452

Вопрос

У меня есть одно приложение, размещенное на SharePoint.я сдался appmanifest.xml поскольку приложение только вызывает и имеет область действия в качестве арендатора.

<AppPermissionRequests AllowAppOnlyPolicy="true" >
    <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
  </AppPermissionRequests>

Это приложение создаст папки для каждого пользователя, принимая данные от пользователя.Несмотря на то, что у пользователя есть разрешение только на чтение в этой библиотеке, приложение должно создать папку от имени пользователя.

Но если я разверну это приложение и попробую использовать пользователя, у которого есть разрешение на редактирование, оно выдаст Access Denied ошибка.

Что будет в этом случае.Нужно ли мне создавать какой-либо объект в файле javascript для вызовов только для приложения, чтобы удовлетворить мое требование?Я погуглил, но не получил никакой подходящей информации о приложениях, размещенных на SharePoint, с вызовами только для приложений.

Это было полезно?

Решение

AppOnlyPolicy неприменимо к приложению SP Hosted, поскольку оно использует токены OAuth.Вы должны дать разрешение пользователю, чтобы эта работа работала.

В соответствии с MSDN:

Приложения, которые не выполняют вызовы с проверкой подлинности OAuth (например, приложения, в которых на веб-сайте приложения выполняется только JavaScript), не могут использовать политику только для приложений.Они могут запросить разрешение, но не смогут им воспользоваться, поскольку для этого требуется передать токен OAuth только для приложения.Только приложения с веб-приложениями, работающими за пределами SharePoint, могут создавать и передавать токены только для приложений.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top