Использование левосторонней навигации SharePoint в пользовательском приложении SharePoint

Можно ли использовать левую панель навигации SharePoint в «приложении, размещенном у поставщика». Навигация, показанная на сайте SharePoint, «PlaceHolderLeftNavBar». Есть ли какой-нибудь способ вызова ajax или функции REST/CSOM?


person sagheer    schedule 06.11.2013    source источник


Ответы (2)


Согласно официальной документации MSDN, CSOM и JSOM содержат свойства навигации, которые также обеспечивают доступ к меню быстрого запуска (также известному как «левая панель навигации»).

Ссылки на документы следующие:

свойство SP.Navigation.quickLaunch (sp. js) (JSOM)

Навигация Свойство .QuickLaunch (CSOM)

Чтобы использовать CSOM или JSOM в приложении, размещенном у поставщика, вам потребуется пройти аутентификацию с помощью OAUTH (для Office 365/SharePoint Online) или с помощью сертификатов в среде с высоким уровнем доверия или в локальной среде.

Если вы используете шаблон приложения для SharePoint 2013, предоставленный Visual Studio 2013, и выбираете размещение у поставщика, он должен поставляться с файлом класса TokenHelper.cs/vb, который выполнит большую часть тяжелой работы для обоих сценариев. Дополнительные сведения о методах проверки подлинности также доступны в MSDN. В частности, обратите внимание на следующие разделы:

  • Авторизация и проверка подлинности для приложений в SharePoint 2013 Как:
  • Создание приложений с высоким уровнем доверия для SharePoint 2013 (дополнительная тема)

Я не уверен, что в настоящее время доступна чистая конечная точка REST, которая, безусловно, может упростить расширенные требования к авторизации CSOM/JSOM в приложении, размещенном у поставщика.

person djjlewis    schedule 24.03.2014
comment
Это также можно использовать для SharePoint Online? - person AnotherDeveloper; 08.04.2017

свойство SP.Web.navigation получает значение, определяющее структуру навигации на сайте, включая область быстрого запуска и верхнюю панель навигации.

Как получить доступ к навигации (быстрый запуск) через CSOM (JavaScript)

function getQuickLaunch(success,error)
{
   var context = new SP.ClientContext.get_current();
   var web = context.get_web();
   var nav = web.get_navigation();
   var quickLaunch = nav.get_quickLaunch();
   context.load(quickLaunch);
   context.executeQueryAsync(
      function() { 
         var nodes = [];
         var nodesCount = quickLaunch.get_count();
         for(var i = 0; i < nodesCount;i++){
             var node = quickLaunch.getItemAtIndex(i);
             nodes.push(node);
         }
         success(nodes);
      },
      error
   );
}

Применение

getQuickLaunch(
   function(nodes){
      for(var idx in nodes)
      {
          console.log(nodes[idx].get_title());
      }
   },
   function(sender, args) {
          console.log('Error:' + args.get_message());
   }
);

Как получить доступ к навигации (быстрый запуск) через REST

function getQuickLaunch(siteurl, success, failure) {
    $.ajax({
        url: siteurl + "/_api/web/navigation/quickLaunch",
        method: "GET",
        headers: { "Accept": "application/json; odata=verbose" },
        success: function (data) {
            success(data.d.results);
        },
        error: function (data) {
            failure(data);
        }
    });
}

Применение

getQuickLaunch(_spPageContextInfo.webAbsoluteUrl,
   function(nodes){
      for(var idx in nodes)
      {
          console.log(nodes[idx].Title);
      }
   },
   function(error) {
          console.log(JSON.stringify(error));
   }
);
person Vadim Gremyachev    schedule 12.04.2014