SharePoint 2013: ¿Se puede interactuar con la API REST de los Servicios de Excel desde el contexto de una aplicación?

Pues en esto estaba indagando el otro día haciendo alguna que otra prueba con la API REST de los servicios de Excel…por desgracia la respuesta es qué no se puede ya qué no hay forma de dar permisos a una aplicación del nuevo modelo de aplicaciones de SharePoint 2013 para qué pueda hacer uso de esa API REST. De echo, si lo intentáis obtendréis un mensaje tan bonito como el que sigue:

image

A pesar del mensajito, me puse a revisar a nivel de permisos si había alguna opción de configuración qué permitiese darle permisos a una aplicación para usar la API REST de los servicios de Excel. Pero, como os decía al principio, no la hay…como veis, podemos dar permisos a la aplicación para acceder a servicios como BCS, Estado, Búsqueda, Perfiles de Usuario o Taxonomia…qué lástima como diría alguno que no se pueda acceder a los servicios de Excel.

image

Finalmente, os dejo la porción del código qué estaba usando para acceder a la API REST de los servicios de Excel…como veis, no tiene nada del otro mundo:

   1:  Results = { 
   2:      element: '', 
   3:      url: '', 
   4:      init: function (element) { 
   5:         /* Results.element = element; 
   6:          Results.url = _spPageContextInfo.webAbsoluteUrl + 
   7:          "/_vti_bin/ExcelRest.aspx/Documentos%20Compartidos/MiniCRM.xlsx/OData/Table1";*/ 
   8:          Results.element = element; 
   9:          Results.url = _surlWeb + 
  10:          "/_vti_bin/ExcelRest.aspx/ExcelFileModule/MiniCRM.xlsx/OData/Table1"; 
  11:      },
  12:   
  13:      load: function () { 
  14:          $.ajax( 
  15:              { 
  16:                  url: Results.url, 
  17:                  method: "GET", 
  18:                  headers: { 
  19:                      "accept": "application/json;odata=verbose", 
  20:                  }, 
  21:                  success: Results.onSuccess, 
  22:                  error: Results.onError 
  23:              } 
  24:          ); 
  25:      },
  26:   
  27:  

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, “Courier New”, courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }