SharePoint 2010: Uso de la API REST (I)!

Como sabéis, una de las novedades que incorpora SharePoint 2010 es el soporte de WCF Data Services lo que permite exponer las listas y bibliotecas de un sitio de SharePoint facilitando la consulta de la información almacenada en las mismas, así como un soporte completo de operaciones CRUD. Para acceder al servicio de WCF Data Services que expone las listas y bibliotecas de un sitio, no tenemos más que especificar en el navegador una url de la forma: /_vti_bin/ListData.svc">/_vti_bin/ListData.svc">http://<Url_Sitio>/_vti_bin/ListData.svc. Por lo tanto, es este servicio ListData.svc el que facilita consultar datos de listas y bibliotecas de SharePoint y realizar operaciones CRUD desde cualquier aplicación y plataforma capaz de trabajar con REST, sea .NET o no:

image

Este servicio ListData.scv nos permite, mapeando operaciones con listas a su equivalente HTTP:

  • Devolver elementos y listas mediante la operación GET.
  • Crear un nuevo elemento de una lista mediante POST.
  • Actualizar un elemento mediante PUT o MERGE.
  • Borrar un elemento mediante DELETE.
Algunos ejemplos de consultas podrían ser:
  • Todas las listas: ../_vti_bin/ListData.svc
  • Una lista concreta: ../_vti_bin/ListData.svc/MiLista
  • Un elemento de lista: ../_vti_bin/ListData.svc/MiLista(1)
image image image
  • Una columna concreta de un elemento de la lista: ../_vti_bin/ListData.svc/MiLista(1)/MiColumna
  • Únicamente el valor de una cierta columna: ../_vti_bin/ListData.svc/MiLista(1)/$value
  • Si estamos trabajando con una lista con una columna de tipo lookup a otra lista, podemos obtener información de la lista relacionada especificando el nombre de la columna que las relaciona: ../_vti_bin/ListData.svc/MiLista(1)/MiColumnaLookup
image image image

 

Para la presentación de los resultados, podríamos realizar operaciones de:

  • Ordenación, aplicando el operador orderby: ../_vti_bin/ListData.svc/MiLista?$orderby=NombreColumna.
  • Filtrado, aplicando el operador filter: ../_vti_bin/ListData.svc/MiLista?$filter=NombreColumna eq ‘valor’.
  • Consultar solo algunas de las columnas de la lista mediante el operador select: ../_vti_bin/ListData.svc/MiLista?$select=NombreColumna1,NombreColumna2.
  • Realizar paginación en los resultados aplicando los operadores top y skip: ../_vti_bin/ListData.svc/MiLista?$top=10&$skip=30.
  • Aplicar expansión en línea: ../_vti_bin/ListData.svc/MiLista?$expand=ColumnaLookup.

Y hasta aquí llega este primer post sobre el uso de la API de REST en SharePoint 2010.