I have some experience using the SharePoint Client Object Model to retrieve text fields and URLs/images from lists in SP 2013. I'm currently trying to do something similar with a calendar. I have been able to successfully retrieve Title and Location fields without any issue, but the Start and End Time fields I am not able to retrieve. I cannot figure out what exactly the issue is. Additionally, I can read Created and Modified with no problems. Here is the relevant code:
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); }); And here is a screenshot of the list columns:
