Вызов внешней службы из веб-части SharePoint Online

Мы находимся в процессе переноса локальной установки SharePoint в SharePoint Online. У нас есть ряд существующих веб-частей C #, которые нам нужно преобразовать. Эти веб-части в настоящее время обращаются к некоторым из наших локальных данных ... нам нужно, чтобы веб-части работали в SharePoint Online; однако мы не уверены в лучшем подходе.

Мы рассмотрели BCS, но похоже, что он больше ориентирован на синхронизацию списков данных с помощью основных методов CRUD. Для многих наших приложений мы не стремимся синхронизировать списки, мы больше обращаем внимание на ориентированные на действия методы в службе, которые могут быть вызваны по запросу по мере необходимости веб-частью.

Мы не считаем, что вызов может быть на стороне клиента, поскольку пользователи часто будут получать доступ к SharePoint Online с рабочих станций, которые не присоединены к нашему домену, и мы не хотим, чтобы пользователю приходилось отдельно аутентифицироваться в нашей службе (т. Е. мы хотим, чтобы наша служба доверяла только серверной части SharePoint Online).

Нашей идеальной настройкой было бы иметь наш код C # для вызова веб-части в нашу веб-службу (размещенную в нашем домене, аутентификацию с помощью учетной записи службы из безопасного хранилища SPO), передачу текущего имени пользователя из контекста SharePoint и получение обратно ответ, который веб-часть может затем использовать для своей обработки.

Но, как мы понимаем, веб-части в SharePoint Online изолированы таким образом, что они не могут выполнять внешние HTTPS-вызовы через HttpWebRequest.

Мы искали практические примеры или документацию, относящуюся к нашему варианту использования, и не нашли ничего, говорящего о том, что это возможно или что это невозможно. Кто-нибудь знает, возможно ли для веб-части получать данные таким образом? Есть ли какое-то другое направление, в котором мы должны двигаться для этого?


person codinginthevoid    schedule 30.10.2015    source источник


Ответы (1)


В SharePoint Online, если вы разрабатываете приложение, размещенное в SharePoint; Вы сможете вызывать внешние конечные точки (EP) после добавления этих конечных точек в файл манифеста.

Если вы не добавили эти конечные точки в файл манифеста, это означает, что вы не разрешаете приложению вызывать внешние EP.

Для вызова внешних EP вам не требуется BCS в SharePoint Online. Вот пример того, как это сделать с помощью JavaScript.

https://msdn.microsoft.com/en-us/library/office/fp179895.aspx

Дайте мне знать, если у вас есть еще вопросы.

person Mostafa    schedule 01.11.2015
comment
На первый взгляд, это действительно описывает то, что мы искали. BCS у нас совсем не работал, надеюсь, нам с этим повезет больше. Спасибо за ссылку, очень признателен. - person codinginthevoid; 03.11.2015
comment
Рад слышать, что этот ответ помогает вам. дайте мне знать, как это происходит. - person Mostafa; 03.11.2015