sábado, 22 de junio de 2013

Listar folders utilizando la API REST de SharePoint Online

En ocasiones es necesario navegar programáticamente a través de la estructura de carpetas de una librería de documento o de una carpeta en específico, esta actividad es bastante sencilla realizándola mediante la API de servidor de SharePoint con la que hemos venido trabajando los últimos años.

Sin embargo a partir del nuevo paradigma de desarrollo de apps para SharePoint 2013, nos enfrentamos a nuevas formas de realizar los que antes ya hacíamos con API del servidor utilizando y nos lleva a utilizar métodos mucho más estándares y que son compatibles con el nuevo modelo de apps, me refiero a utilizar la API REST de SharePoint 2013.

En esta ocasión voy a ejemplificar como cumplir con la tarea de listar las carpetas de una librería de documentos mediante la api REST, lo primero que necesitamos en comenzar a construir la consulta REST a utilizar contra una librería de documentos, en principio la siguiente consulta nos mostraría la información de una librería de documentos:

https://myportal.sharepoint.com/_api/web/GetFolderByServerRelativeUrl('/Folders%20Library')

Donde “Folders Library” es el nombre de la librería de documentos de la cual quiero mostrar sus carpetas. Noten el uso del método GetFolderByServerRelativeUrl que se encuentra a nivel del “objeto” Web y el cual nos permite abrir un folder en particular, en este caso la librería de documentos en si misma.


Lo siguiente es utilizar la opción $expand para acceder a la “propiedad” Folders de la librería de documentos, algo como lo siguiente: https://myportal.sharepoint.com/_api/web/GetFolderByServerRelativeUrl('/Folders%20Library')?$expand=Folders


Por ultimo solo usamos la opción $select para seleccionar los campos que necesitamos, recuerden que siempre debemos limitar la cantidad de información que solicitamos al servidor, solo para fines de optimizar nuestro desarrollo, la url de consulta final:

https://myportal.sharepoint.com/_api/web/GetFolderByServerRelativeUrl('/Folders%20Library')?$select=Folders/name,Folders/ServerRelativeUrl,Folders/ItemCount&$expand=Folders

Una vez que tenemos lista la consulta solo agrego un código de ejemplo que pinta las carpetas que se encuentran dentro de la librería de documentos como un listado, Show me the money!

El script:









El resultado:

Happy Coding!

0 comentarios:

Etiquetas

SharePoint 2010 (38) Microsoft (32) Desarrollo SharePoint (31) Gerardo Reyes Ortiz (27) SharePoint (20) SharePoint 2013 (18) Errores SharePoint (12) México (10) PowerShell (9) Silverlight (8) Visio Services (7) Features (6) MVP (6) Silverlight 3 (6) WebCast (6) Workflows (6) Configuracion SharePoint 2010 (5) D.F. (5) API REST (4) Configuracion SharePoint 2010; (4) Troubleshooting (4) Visual Studio 2010 (4) Visual studio (4) WSS (4) Web parts (4) Apps (3) Comunidad SharePoint (3) Configuración SharePoint 2013 (3) ODATA (3) SharePoint Server (3) SharePoint; Instalación SharePoint; Troubleshooting; Search Service (3) Silverlight 3.0 (3) Silverlight Toolkit (3) WebParts (3) javascript (3) jquery (3) Eventos SharePoint (2) Office 2010 (2) PeoplePicker (2) REST (2) SQL Server (2) Scripting (2) Search Service Application (2) SharePoint Designer (2) UPA (2) UPS (2) Workflows SharePoint (2) host header (2) Apps Development (1) Big Bang (1) CAS (1) CSOM (1) Codeplex (1) CompartiMOSS (1) Configuracion SharePoint 2010; Errores SharePoint (1) Configuracion SharePoint 2010; SharePoint 2010 (1) Custom Actions (1) Custom Editor Parts (1) Delegate Controls (1) Deployment (1) DisableLoopbackCheck (1) Document Library (1) Entrevista (1) Examenes de Certificación (1) Extract WSP (1) FBA (1) FS4SP (1) Fakes (1) Fast Search Server 2010 For SharePoint (1) Fiddler (1) HTTP.SYS (1) HTTPS (1) JSON (1) Language Pack's (1) Latam (1) MAXDOP (1) MCSM (1) MSExpertos (1) MVC (1) Microsoft México (1) Microsoft; Codeplex; Screencast; (1) My Sites (1) SQL Server 2012 (1) SQL Server Reporting Services (1) Screencast (1) Screencast; (1) Service Applications (1) Service Pack (1) SharePoint 2007 (1) SharePoint 2010 SP 1 (1) SharePoint API (1) SharePoint Conference (1) SharePoint Emulators (1) SharePoint Farm (1) SharePoint Health Analyzer (1) SharePoint Magazine (1) SharePoint Online (1) SharePoint Search (1) SharePoint Test (1) SharePoint; Desarrollo SharePoint (1) Shims (1) Simposio (1) Simposio Latinoamericano (1) SkyDrive Pro (1) Soporte Microsoft (1) Templates (1) Tip (1) VSeWSS (1) Virtual Machine (1) Visual Studio 2012 (1) WCF (1) WSS; IIS 7 (1) Web API (1) Web Content Management (1) Web Services (1) Windows 8 (1) Windows Live ID (1) Xml (1) appcmd (1) iOS (1) jqGrid (1) onload function (1)