SharePoint Online: Como llamar a un servicio remoto usando WebProxy en una aplicación creada con NAPA!

Si queremos realizar llamadas a servicios remotos desde aplicaciones de SharePoint (sean del tipo qué sean), una de las posibilidades qué tenemos para poder lidiar con los típicos escenarios de cross-domain que se presentan cuando desde un dominio remoto llamas a otro dominio remoto (en este caso a un servicio) es la de usar el objeto WebProxy expuesto por las APIs de cliente de SharePoint 2013. En este How-To se explica muy bien como llamar a un servicio OData desde una Aplicación SharePoint-Hosted creada en Visual Studio 2012. Una pregunta qué se me vino a la mente al revisar el artículo es si el ejemplo es válido para una aplicación creada con NAPA…la respuesta es qué sí como vamos a ver a continuación:

  • Desde nuestro sitio de desarrollo de SharePoint Online en Office 365 iniciamos NAPA y procedemos a crear un nuevo proyecto.
  • Entre las opciones de creación de aplicaciones, elegimos aplicación para SharePoint.
  • Una vez estamos en el entorno de desarrollo de NAPA, simplemente copiamos el código del ejemplo qué os he comentado.
image image image
  • Y ahora la parte importante, ¿cómo añadimos el EndPoint del servicio remoto? Pues a través de las opciones de configuración de la aplicación que tenemos en NAPA (o sea “behind the scenes”, tocando el manifiesto. En concreto, la sección “Rempote Endpoints” es la que nos permite agregar aquellos extremos de servicios remotos confiables y para los que se va a permitir llamadas cross-domain. Añadimos la Url del domino remoto qué en este caso es http://services.odata.org.
  • Ejecutamos la aplicación y listo, funcionando la llamada al servicio remoto :-).
image image