0

У меня есть опыт использования объектной модели SharePoint Client для получения текстовых полей и URL-адресов/изображений из списков в SP 2013. В настоящее время я пытаюсь сделать что-то подобное с календарем , Мне удалось успешно получить поля Title и Location без каких-либо проблем, но поля Start и End Time, которые я не могу получить. Я не могу понять, в чем именно проблема. Кроме того, я могу читать «Создано и изменено» без проблем. Вот соответствующий код:Получение полей «Начало/конец времени» с объектной моделью клиента SharePoint

function retrieveListItemsCal() { 
    var clientContextCal = new SP.ClientContext.get_current(); 
    var oListCal = clientContextCal.get_web().get_lists().getByTitle('Calendar'); 
    var camlQueryCal = new SP.CamlQuery.createAllItemsQuery(); 
    AllItemsCal = oListCal.getItems(camlQueryCal); 
    clientContextCal.load(AllItemsCal); 

    clientContextCal.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceededCal), Function.createDelegate(this, this.onQueryFailedCal)); 
} 

function onQuerySucceededCal(sender, args) { 
    var listItemInfo = ''; 
    var listItemEnumeratorCal = AllItemsCal.getEnumerator(); 

    var htmlCal = ''; 

    htmlCal+="<div id='CalHeader'>Upcoming Events</div>\ 
    <div id='CalDivider'></div>\ 
    <div id='CalContainer'>"; 

    while(listItemEnumeratorCal.moveNext()) { 
     var oListItemCal = listItemEnumeratorCal.get_current(); 

     /*htmlCal+="<div class='CalItem'>\ 
       "oListItemCal.get_item('Start Time')"\ 
      </div>";*/ 
     alert(oListItemCal.get_item("Start Time").format("MMMM d, yyyy")); 
    } 
    htmlCal+="</div>"; 

    $("#CalSpace").append(htmlCal); 
} 

function onQueryFailedCal(sender, args) { 
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); 
} 

$(document).ready(function(){ 
    SP.SOD.executeFunc("sp.js", "SP.ClientContext", retrieveListItemsCal); 
}); 

А вот скриншот из колонок списка: http://i.imgur.com/8IK4KTO.png

ответ

1

я решил мою проблему. Я побежал следующие PowerShell запросов (найдено здесь http://techtrainingnotes.blogspot.com/2012/10/sharepointfinding-column-display-and.html):

$web = Get-SPWeb SiteUrl 
$list = $web.Lists["Announcements"] 
$list.fields | select Title, InternalName, Hidden, CanBeDeleted | sort title | ft -AutoSize 

Внутренние имена полей Start Time и End Time являются EVENTDATE и EndDate соответственно.