SharePoint 2013: Novedades en la API REST (II)!

Siguiendo con la serie de posts en torno a las novedades de la API RET en SharePoint 2013, en esta ocasión vamos a ver dos formas alternativas de trabajar con la misma:

  • La primera forma, es a través del navegador y como alternativa a _api. Podemos llamar directamente al servicio client.svc. Por ejemplo, para acceder a los datos del sitio es suficiente con usar una URL de la forma: http://<UrlSitioSharePoint>/_vti_bin/client.svc/web
  • La segunda, a través de código manejado…en concreto vamos a ver como procesar una llamada que nos permitar por ejemplo trabajar con una lista del sitio con una URL de la forma: http://<UrlSitioSharePoint>/_api/web/lists/getByTitle(‘Clientes’)/?select=Title. Esta consulta simplemente nos da el título de la lista.
  • Creamos un proyecto de tipo aplicación de consola eligiendo como versión de .NET Framework la 4.5. Agregamos referencia a System.Xml y directivas using a System.Net, System.IO y System.Xml.Linq.
  • El código necesario para trabajar con la lista es el siguiente:
   1:                  string sURLConsulta = "http://c4431163311" +
   2:                      "/_api/web/lists/getByTitle('Clientes')/?select=Title";
   3:                  Uri uRESTService = new Uri(sURLConsulta);
   4:   
   5:                  //Petición REST
   6:                  HttpWebRequest hwrPeticion =
   7:                      (HttpWebRequest)WebRequest.Create(uRESTService);
   8:                  hwrPeticion.Credentials =
   9:                      CredentialCache.DefaultNetworkCredentials;
  10:                  hwrPeticion.Accept = "application/atom+xml";
  11:   
  12:                  //Envío de la petición al servidor
  13:                  HttpWebResponse hwrRespuesta =
  14:                      (HttpWebResponse)hwrPeticion.GetResponse();
  15:                  StreamReader srReader =
  16:                      new StreamReader(hwrRespuesta.GetResponseStream());
  17:   
  18:                  //Procesando la respuesta
  19:                  XDocument xdDoc =
  20:                      XDocument.Load(hwrRespuesta.GetResponseStream());
  21:                  XNamespace xnEspacioNombres =
  22:                      "http://schemas.microsoft.com/ado/2007/08/dataservices";
  23:   
  24:                  string sTitle = xdDoc.Descendants(xnEspacioNombres + "Title").First().Value;
  25:   
  26:                  //Salida por pantalla
  27:                  Console.WriteLine("Lista:{0}",sTitle);
  • Cómo veis, lo primero que se hace es crear un objeto de tipo Uri a partir de la consulta a realizar que en este caso simplemente nos devuelve el nombre de la lista. A continuación se crea un objeto HttpWebRequest para crear la petición a partir de la Uri llamando al método Create() de WebRequest.
  • A partir de crear la petición, establecemos tanto las credenciales para la misma como su encabezado HTTP (propiedad Accept).
  • Lo siguiente que hacemos es enviar la petición al servidor y obtener su respuesta mediante un objeto de tipo HttpWebResponse qué como veis se construye a partir de llamar al método GetResponse del objeto HttpWebRequest.
  • Finalmente, la respuesta la almacenamos en un objeto de tipo StreamReader que luego podremos trata fácilmente mediante LINQ To XML. Fijaros qué en este caso a través del método Descendants() del objeto XDocument generado obtenemos de forma muy sencilla el título de la lista.
image   image

Y hasta aquí llega este segundo post sobre las novedades de la API REST de SharePoint 2013.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *