Архивы по месяцам: Февраль 2014

Как задать в качестве области поиска людей / Источник контента с помощью SharePoint 2013 ИНТЕРФЕЙС API REST

У меня причин для работы с SharePoint 2013 API поиска через REST в первый раз. Я хотел бы искать людей, не документы. Ключ обучения здесь является то, что вы укажите источники контента через его GUID (или по крайней мере в этом случае). В следующем фрагменте показано jQuery как:

    loadExpertsAsync: функция() {

        jQuery.support.cors = Истина;

        $.Аякс({
            URL-адрес: Это.CreateFullApiUrl() +
                "?QueryText = «порталы»&SourceID = «b09a7990-05ea-4af9-81ef-edfab16c4e31»" +
                "&Выберите пункт Свойства ='LinkedInProfileUrl,GoogleCirclesProfileUrl,BALargeProfilePictureUrls,BAGridPictures,WorkEmail,Навыки,AboutMe,Интересы,Название должности,PastProjects,PictureURL,PreferredName,TwitterHandle,LinkedInProfileUrl,PreferredName,GoogleCirclesProfileUrl'" +
                "&RowLimit = 99",
            метод: "Получить",
            заголовки: { "Примите": "применение/json; OData = подробный" },
            кэш: ложь,
            успех: функция (результат) {

В моем случае, Я бегу API против SharePoint онлайн. Чтобы получить идентификатор GUID, Я последовал за действия.:

  1. Доступ в центре администрирования SharePoint
  2. Выберите «Поиск» из левой области переходов
  3. Выберите «Управление источниками результат»
  4. Выберите «Местные жители результаты»
  5. Посмотрите на URL-адрес.

Мои URL посмотрел что-то вроде:

https://xyzzy-admin.sharepoint.com/_layouts/15/searchadmin/EditResultSource.aspx?level=tenant&sourceid=b09a7990%2D05ea%2D4af9%2D81ef%2Dedfab16c4e31&view=1

Параметр идентификатор sourceid является то, что работал для меня.

(Я понимаю, что sourceid фактически может быть своего рода постоянный вещь с SP, но я всегда буду проверять все равно 🙂 ).

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Пример SharePoint остальные звонки

Вот набор образца отдыха звонков, которые работают для меня и может помочь вам, а. По состоянию на 02/2014, there are two examples 🙂

  1. Ссылка на столбец с пробелами в его имени
  2. Ссылка на столбец множественного выбора
  3. Выполнять поиск людей через отдых

 

Я добавлю к этому, как проходит время.

Ниже приведены некоторые полезные чернила, я также нашел:

Ссылка на столбец с пробелами в его имени

Создать пользовательский список с столбец с именем «Блог Автор» (пространство между блог и автор).

$select для ссылки на этот столбец является:

image

Просто замените «_x0020_» пространство. Мы видим _x0020_ во многих примерах через Интернет и остальные не отличается.

Если вы не сделаете это, Вы обязаны получить сообщение об ошибке, как это:

Выражение “Автор блога” не является допустимым.

Достаточно легко.

Ссылка на столбец подстановок множественного выбора

Настройка:

  1. Создание настраиваемого списка указанных категорий.
  2. Добавьте некоторые категории. Я добавил категории константы выглядит так:image
  3. Создайте еще один пользовательский список, называется MockBlog и добавлять категории как столбец списка множественного выбора (или столбец сайта, если это является, как вы ролл).

Добавить некоторые элементы в список Mockblog и вы будете готовы.

Ajax-стиле вызова, с помощью jQuery будет выглядеть примерно так:

serverUrl  = "/_api/web/списки/GetByTitle(«MockBlog»)/элементы" +
             "?$Выберите = название,Категории/название,Blog_x0020_Author/название" + 
             "&$Разверните узел = Blog_x0020_Author,Категории";

Мы говорим SharePoint «дайте мне название для всех категорий (Категории/название). Получить фактические значения Название от $Разверните узелING списка категории.» (Мой спокойный перефразируя вероятно довольно рыхлая, но это как интерпретации).

Если вы делаете это через JavaScript и посмотрите на результат с помощью Fiddler, Вы получите что-то подобное в ответ:

 

image

(Выше, является объектом JSON)

Выполнять поиск людей через отдых

Я blogged об этом отдельно. Суть заключается в том, чтобы указать идентификатор sourceid параметр, значением которого является идентификатор GUID источника контента местных жителей. (Источники контента используется для вызова областей, и это мой oh-my так трудно не назвать все область для меня!).

Подробнее об этом здесь: http://www.mstechblogs.com/paul/?p=10385

 

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстро и легко: Создайте сайт SharePoint с помощью отдыха

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

Можно создать узел SharePoint, с помощью API-интерфейса REST.  Вот пример, полностью запеченные:

<!--
    SiteRequestForm.html: Сбор информации и создание сайта для пользователя.
-->

<центр>
<Таблица>
    <TR>
        <ТД>Название сайта:</ТД>
        <ТД><вход Тип= "текст" имя= "Имя_сайта" ID= "Имя_сайта" /></ТД>
    </TR>
    <TR>
        <ТД ColSpan= "2">
            <вход Тип= "отправить" ID= «CreateSiteButton" значение= "Создать сайт" />
        </ТД>
    </TR>
</Таблица>
</центр>

<сценарий src="../Plugins/jQuery-1.11.0.min.js"></сценарий>

<сценарий>
var CreateSiteLogicContainer = {

    createSiteData: {
            «параметры": {
                __metadata: { «Тип": «SP.WebInfoCreationInformation" },
                URL-адрес: «Paultest1",
                Название: «Paultest1",
                Описание: «остальные создан веб пол!",
                Язык: 1033,
                WebTemplate: «sts",
                UseUniquePermissions: ложь
            }
    },

    createSite: функция () {

        jQuery.support.cors = Истина;

        CreateSiteLogicContainer.createSiteData.parameters.Url = $(» #SiteName").вал();
        
        $.Аякс({
            URL-адрес: «https://bigapplesharepoint.sharepoint.com/NBAIADev/_api/web/webinfos/add",
            метод: «ПОСТ",

            заголовки: {
                «Принимаю": «application/json; OData = подробный",
                «content-type": «application/json;OData = подробный",
                «X-RequestDigest": $(«#__REQUESTDIGEST").вал()
            },

            данные: JSON.stringify(CreateSiteLogicContainer.createSiteData),

            успех: функция () { предупреждение(«успех"); },
            Ошибка: функция () { предупреждение(«Ошибка"); }

        });
    },

    wireUpForm: функция () {
        $(» #CreateSiteButton").Нажмите кнопку(функция () {
            предупреждение(«О, чтобы попробовать и создать сайт.");
            CreateSiteLogicContainer.createSite();
        });
    }


}

CreateSiteLogicContainer.wireUpForm();

</сценарий>

При успешном выполнении, Вы получаете пакет JSON в ответ, как это:

image

Мои ключевые мысли и знания из этого включают в себя:

  • Этот подход использует jQuery.  В моем случае, Моя библиотека jQuery расположен в «../ plugins.»  Вы хотите изменить, чтобы указать на местоположение ваших любимых JQ.
  • Можно скопировать и вставить весь фрагмент в веб-часть редактора контента на страницу и он должен работать нормально.  Вы хотите изменить конечную точку вызова API и убедитесь, что вы правильно ссылаться JQ.
  • URL-адрес задается относительно конечной точки вашего API.  В моем случае, Это создание дочерних сайтов под https://bigapplesharepoint.com
  • Вам не нужно предоставлять контент длина. Некоторые сообщения в блоге и MSDN документ подразумевает, что вы делаете, Но случилось для меня автоматически, который я предполагаю обрабатывается сам вызов $.ajax.
  • Эта линия необходима для того, чтобы избежать «запретному» ответ: «X-RequestDigest": $(«#__REQUESTDIGEST").вал().  Есть другие способы сделать это, но это очень приятно.  Я потерял ссылку на блог, который представил этот ярлык.  H/T к вам, Таинственный блоггер!

Удачи и надеюсь что это помогает кто-то.

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Преодолеть раздражает проблема с относительные URL-адреса SharePoint быстрый запуск

Я хотел бы добавить ссылку на панель быстрого запуска навигации другой день и сказал мне, SharePoint:

image

Чистая текстовой версии, является:

Убедитесь, что URL-адрес является допустимым и начинается с любой допустимый символ (знак номера (#) или косой (/)) или действительный поддерживаемый протокол (Например, ' http://’, ' https://’, ' файл://’, ' ftp://’, ' mailto:’, ' Новости:’).

«Blech и оспа!«Я сказал.

Обходной путь для этого — использовать JavaScript, чтобы найти известный ссылку в области быстрого запуска и переопределить его поведение.

Проверить это, Добавьте новую ссылку на ваш сайт тест константы выглядит так:

image

Я использовал jQuery. Для ее решения, получите некоторые JavaScript и jQuery на страницу, с помощью вашей любимой техники и с строки кода, как это:

 

$(документ).готов( функция () {

    $("в:содержит(«Тест замена URL-адрес»)").Нажмите кнопку(функция () { предупреждение("поведение изменения щелчка!"); возвращение ложь;});

});

И Боб ваш дядя.

JQuery селектор находит каждый <в> тег, который имеет «Проверить URL замену» в его названии. Вы можете найти tune, в зависимости от вашей ссылке и такие.

Добав(функция() переопределяет все SharePoint сделали бы если пользователь нажал кнопку. Убедитесь, что вы «возвращение ложных», или же он будет делать ваши вещи и затем попытаться href вещь слишком, Это почти наверняка не ваша цель.

Это было сделано и тестирования в среде SharePoint online, но должны работать хорошо в 2010 и раньше тоже.

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстрый и простой: Возвращает только вызов REST SharePoint 100 Записи

Я работаю на общественных облицовочная веб-сайт для моей практике SharePoint в Нью-Йорк и он использует много вызовов JavaScript и отдыха для отображения содержимого.

Во время развития магистральных, Я просто создаю небольшого набора данных с 10 или так строк в пользовательский список и мои остальные звонки вытащил оттуда.  Однажды я bumped вверх по списку, чтобы иметь несколько сотен строк данных для проверки ожидаемого роста, Я обнаружил, что я получаю именно 100 строк, возвращенных обратно мои остальные звонки.

Это очень простая вещь для адреса.  В моем случае (и я верю в большинстве случаев), по умолчанию остальные вызовы SharePoint (и возможно как отраслевой стандарт?) возвращение 100 строк.  Для возвращения более чем по умолчанию, Используйте параметр $top на ваш звонок, как и в:

ПОЛУЧИТЬ /Insights Dev/_api/web/lists/GetByTitle(«MockBlog»)/элементы?$Выберите = ID,Название,Категории/название,Blog_x0020_Author/название,DatePublished,BlogSummary&$Разверните узел = Blog_x0020_Author,Категории&$фильтр =&$Топ = 9999

Я выбрал 9999 в этом случае с тех пор я знаю, что growth-wise, там не будет более чем 200 или так строк добавлены в этот список в год.  Если она становится неуклюжий, Мы можем реализовать некоторые подкачки вниз по дороге.

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin

Быстрый и простой: Решить «Недопустимый URL параметр” проблема с UpdateListItems в lists.asmx

При работе с UpdateListItems через lists.asmx, Это легко генерировать ошибки:

Недопустимый URL-адрес параметра.

Предоставляет URL-адрес содержит недопустимые команды или значение. Пожалуйста, проверьте URL-адрес снова.

Вы можете получить эту ошибку, когда вы забыли включить ID в списке полей для обновления.  Это, как много этих SP веб-служб, Это немного парадоксально, так как вам нужно включить идентификатор в атрибуте ID <Метод> элемент.  И вы не обновляется ID и вероятно никогда не хотят в первую очередь.

Этот конверт SOAP работает:

<soapenv:Конверт xmlns:soapenv =' http://Schemas.xmlsoap.org/soap/envelope/'>
  <soapenv:Тело>                      
    <UpdateListItems xmlns =' http://Schemas.Microsoft.com/SharePoint/SOAP/'>                     
      <listName>{C712E2EA-54E1-47AD-9D99-1848C7773E2F}</listName>                     
        <обновления>                     
         <Пакетная OnError =«Продолжать">
          <Метод ID =«1" Cmd =«Обновление">
            <Поле имя =«CooperativeLock">к морю!</Поле>
            <Поле имя ="ID">1</Поле>
          </Метод>
        </Пакетный>                     
        </обновления>                
      </UpdateListItems>             
  </soapenv:Тело>         
</soapenv:Конверт>

Если вы вырезать ссылку на идентификатор в поле, то вы получите раздражает сообщение «Недопустимый URL параметр».

</конец>

undefinedПодписаться на мой блог.

Следуй за мной по щебетать на http://www.twitter.com/pagalvin