Come vi dicevo in uno dei precedenti post, SharePoint 2013 espone una nuova interfaccia REST in grado di permetterci la lettura di informazioni e/o l'esecuzione di operazioni sui nostri siti SharePoint da applicazioni che girano client-side, quindi al di fuori del contesto di SharePoint stesso. Queste possono essere applicazioni Windows (e non), altre applicazioni web, RIA, customizzazioni Javascript e tante altre ancora.
Giusto per essere completi, questa nuova interfaccia è una delle due tipologie di API che possiamo scegliere per lo sviluppo di App SharePoint 2013 (altra novità, che abbiamo già introdotto qua, qua e qua).
A mio parere, questo set di API si sposa perfettamente con Javascript, perchè è possibile impostare la richiesta HTTP in modo tale da far ritornare le informazioni in formato JSON e perchè tale formato (JSON appunto) è facilmente maneggiabile con un linguaggio dinamico come Javascript.
Per di più, da anni ormai abbiamo la possibilità di utilizzare JQuery, libreria open-source che facilita notevolmente l'utilizzo di questo linguaggio client-side, linguaggio che a prima vista può sembrar facile all'utilizzo ma che, vi assicuro, è molto più complesso di quello che sembra.
Ecco.. JQuery ha un fantastico metodo, il metodo "ajax", che ci permette di effettuare delle chiamate server-side sfruttando l'ormai noto oggetto "xmlHttpRequest" (dico ormai noto, perchè è un concetto vecchio di 10 anni) e specificando uno o più parametri, così da personalizzare al massimo la nostra richiesta HTTP.
Questo metodo è perfetto per richiamare uno degli endpoint REST esposti da SharePoint 2013, di cui abbiamo già parlato.
Vi lascio qui la sintassi minima per fare una chiamata in GET e recuperare informazioni da SharePoint 2013, in lettura.

$.ajax({

url: '/_api/web',
type: 'GET',
contentType: 'application/json;odata=verbose',
headers: { 'Accept': 'application/json;odata=verbose' },
cache: false,
success: function (data) {
//data.d contains our result },
error: function (jqXHR, textStatus, errorThrown) {
//handle error... }
});

In questo estratto di codice ho utilizzato il metodo "ajax" di JQuery per richiamare le API Rest esposte da SharePoint 2013 (ho utilizzato una URL relativa, il che significa che questo codice funziona correttamente all'interno di un sito SharePoint 2013), utilizzando qualche parametro aggiuntivo come:
  • url: indirizzo dell'endpoint REST di SharePoint 2013
  • type: metodo HTTP da utilizzare per la richiesta (possono essere solo 'GET' o 'POST', nel nostro caso abbiamo scelto 'GET' per effettuare una lettura)
  • contentType: per specificare che i dati di ritorno devono essere serializzati in JSON
  • cache: per specificare al browser di non mettere in cache la risposta a questa chiamata
  • success: callback per la gestione della risposta
  • error: callback per la gestione degli errori

Col tempo, imparerete che JQuery da sola non basta, anzi. Il più delle volte incasina solamente le cose, ma diciamo che è troppo presto per parlare di questo ancora.
Intanto, tenete buona questa sintassi, che sarà quella che utilizzerete sempre per interagire con le informazioni presenti su SharePoint dalle vostre App, web part o altre applicazioni client-side che girano sui vostri siti SharePoint 2013.