SharePoint 2010: Uso de los SharePoint REST Services (I)!

Siguiendo con la serie de posts sobre novedades en desarrollo en SharePoint 2010, en esta ocasión toca hablar sobre como podemos usar los servicios REST que expone la plataforma para consumir datos de la misma de forma más sencilla a lo que podíamos hacer en SharePoint 2007 (en cuanto nos salíamos del servidor, sólo nos quedaba la opción de los servicios web. Empecemos.

Los servicios REST de SharePoint 2010

Como os comentaba, dado un sitio de SharePoint 2010 podremos acceder a los datos contenidos a través del correspondiente servicio de ADO.NET Data Services. Para que el servicio funciones sin problemas, necesitáis tener instalada la CTP2 de ADO.NET Data Services. Basta conque pongáis /_vti_bin/ListData.svc”>http://<servidor>/_vti_bin/ListData.svc para acceder al servicio y ver las “entidades” con las que podéis jugar para consultar información.

imagePor ejemplo, con /_vti_bin/ListData.svc/Anuncios”>http://<servidor>/_vti_bin/ListData.svc/Anuncios accederéis a los anuncios almacenados en la lista el mismo nombre .

Uso de los servicios REST fuera de SharePoint 2010

Usar los servicios REST de SharePoint 2010 fuera del mismo es similar a llamar a un servicio de ADO.NET Data Services convencional que exponga un modelo de entidades de ADO.NET Entity Framework o de LINQ To SQL:

  • Creamos un proyecto de tipo Windows Forms en VS 2010.
  • Añadimos una nueva fuente de datos en VS 2010: Add-> Add New Data Source.  De esta forma se inicia el clásico asistente de datos para crear una nueva fuente de datos.
  • Escogemos que sea de tipo Service o de tipo SharePoint.
  • En la siguiente pantalla especificamos el servicio ADO.NET Data Services de SharePoint 2010.
  • Añadimos al proyecto la referencia a Microsoft.Data.Services.Client y eliminamos la referencia a System.Data.Services.Client (añadida cuando se creó la referencia al servicio).
image image image
  • Diseñamos el formulario, en mi caso en primera instancia consta de:
    • Un botón btnListar para lanzar la consulta al servicio ADO.NET Data Services de SharePoint 2010.
    • Un control de tipo GridView en el que volcar los resultados de la consulta.
  • Diseñado el formulario, ya estamos listos para añadirle la lógica:
    • Añadimos una directiva using al servicio REST.
    • Añadimos una directiva using a System.Net
  • Codificamos el manejador del botón como sigue:
    • Creamos una instancia del objeto Contexto de Datos creado al añadir la referencia al servicio REST de SharePoint. Este objeto espera en el constructor un tipo Uri en el que especificaremos la Url del servicio REST.
    • Especificamos la credenciales de acceso al servicio (Default.Credentials).
    • Especificamos como fuente del control GridView la lista Anuncios expuesta por el servicio REST.

using System;

 using System.Collections.Generic;

using System.ComponentModel;  

using System.Data; 

using System.Drawing;

using System.Linq; 

using System.Text; 

using System.Windows.Forms;  

using SPRESTServices.IntranetServiceReference;  

using System.Net;  

namespace SPRESTServices  

{

     public partial class Form1 : Form  

     

        public Form1()  

         

            InitializeComponent();  

         

        private void btnListar_Click(object sender, EventArgs e)  

         

            IntranetDataContext ctx =  

                new IntranetDataContext 

                    new Uri(“http://pegaso/_vti_bin/ListData.svc”));  

            ctx.Credentials = 

                CredentialCache.DefaultCredentials; 

            grdData.DataSource = ctx.Anuncios.ToList();   

       

     

}

  • Si ejecutamos el proyecto, el resultado debería ser el siguiente:

image

A continuación, lo que hice fue modificar el formulario para añadirle los controles necesarios para poder insertar datos en la lista utilizando el servicio REST:

  • Un botón btnCreate para insertar datos en una lista de SharePoint a través del servicio.
  • Dos cajas de texto en las que se podrá especificar los datos a insertar en la lista.
  • En el código del manejador del botón simplemente:
    • Creamos una instancia del objeto contexto de datos.
    • Especificamos las credenciales de acceso al servicio.
    • Creamos una instancia de elemento de la lista anuncios.
    • Configuramos las propiedades del elemento.
    • Para añadir el elemento, tendremos que:
      • Llamar al método AddToAnuncios definido en el objeto contexto de datos. Este evento recibe el elemento a añadir.
      • Guardar los cambios llamando a SaveChanges().

        private void btnCreate_Click(object sender, EventArgs e)  

       

            IntranetDataContext ctx = 

                new IntranetDataContext(

                    new Uri(“http://pegaso/_vti_bin/ListData.svc”));

            ctx.Credentials =

                CredentialCache.DefaultCredentials;  

            AnunciosItem anItem = new AnunciosItem();

            anItem.Título = textBox1.Text;

            anItem.Cuerpo = richTextBox1.Text; 

           ctx.AddToAnuncios(anItem);

            ctx.SaveChanges();

        }

 Sin más, probamos que la funcionalidad de crear elementos funciona:

image image image

Y hasta aquí llega este primer post sobre el uso de los servicios REST de SharePoint 2010.

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.

Un comentario en “SharePoint 2010: Uso de los SharePoint REST Services (I)!”

Deja un comentario

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