SharePoint Online: Cómo leer información relativa a las soluciones Sandbox cargadas!

En este artículo os comentaba como activar soluciones Sandbox, y por ende características, utilizando el modelo de objetos en cliente (CSOM). Pero, ¿Cómo puedo trabajar con la galería de soluciones Sandbox desde el CSOM? Pues de la misma forma como se trabajaría con una lista o biblioteca convencional de un sitio. Al fin y al cabo, la galería de soluciones no es más que una biblioteca de SharePoint:

  • En el ejemplo en cuestión, y para acceder a la galería de soluciones en SharePoint Online, necesitamos necesariamente hacer uso de nuevo de un ClaimClientContext gracias al ejemplo de Rober Bogue y que nos permitirá especificar las credenciales para Office 365.
  • A partir de aquí, trabajar con la galería de soluciones pasa por acceder a la misma mediante el método GetCatalog y el identificador de la misma (121) para posteriormente acceder a las soluciones almacenadas y mostrar la correspondiente información por pantalla.
   1: static void LeerSoluciones()

   2: {

   3:     try

   4:     {

   5:         string targetSite =

   6:             "https://miccantabria.sharepoint.com/sites/O365Camps";

   7:         using (MO_NET.ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite))

   8:         {

   9:             if (ctx != null)

  10:             {

  11:                 //Acceso a la galería de soluciones

  12:                 MO_NET.List solutionList = ctx.Site.GetCatalog(121);

  13:                 

  14:                 //Acceso al listado de soluciones

  15:                 MO_NET.ListItemCollection licCollection = 

  16:                     solutionList.GetItems(MO_NET.CamlQuery.CreateAllItemsQuery());

  17:  

  18:                 //Definición de operación

  19:                 ctx.Load(licCollection);                            

  20:  

  21:                 //Realización de operación

  22:                 ctx.ExecuteQuery();

  23:  

  24:                 //Procesado de resultados

  25:                 foreach (MO_NET.ListItem li in licCollection)

  26:                 {   

  27:                     MO_NET.FieldLookupValue fl= (MO_NET.FieldLookupValue)li.FieldValues["Status"];

  28:                     //Solución activada o no

  29:                     if (fl!=null)

  30:                     {

  31:                         Console.WriteLine(li["ID"] + " - " + li["FileRef"] + " - " + fl.LookupValue);

  32:                     }

  33:                     else

  34:                     {

  35:                         Console.WriteLine(li["ID"] + " - " + li["FileRef"] + " - 0");

  36:                     }                            

  37:                 }

  38:             }

  39:         }

  40:     }

  41:     catch (Exception ex)

  42:     {

  43:         Console.WriteLine("Error: {0}", ex.Message);

  44:     }

  45: }

  • Sin más, comprobamos que soluciones tenemos disponibles en la galería.
  • Y por supuesto, nuestra salida por pantalla muestra las mismas soluciones.
image image

Referencias:

About these ads

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s