Hola.
No se muy bien si alguien me podrá ayudar o si este es el foro adecuado. El problema realmente es de SharePoint, aunque se da dentro de otros marcos de trabajo. Lo explico y si no, ya me dicen:
Necesito crear una ruta de carpetas en SharePoint desde un Business central en la nube.
Tengo un desarrollo en una biblioteca de .net (dll) montado en un Business central onpremise que funciona perfectamente, pero al pasarlo a la nube nos encontramos con que ya no se pueden usar las dotnet.
Según lo leído, hay que crear una Azure function para montar la dll y llamarla desde Business central cloud.
He montado la dll en una Azure function a la que llamo desde Business central cloud. Hasta ahí todo perfecto, pero a la hora de crear la ruta en SharePoint uso el comando ExecuteQuery() de la referencia ClientContext y me da el error 'The remote server returned an error: (400) Bad Request'.
Si no ejecuto ese comando, no da error, pero no crea ninguna ruta.
He leído en foros que el problema puede estar en la llamada a la url. Que hay que crear en SharePoint un id cliente y la clave secreta de cliente y pasárselo a la llamada de ClientContext. Lo he hecho también así, pero sigue dando el mismo fallo.
La llamada al ClientContext la hacía antes como 'using (ClientContext ctx = new ClientContext(siteUrl))'. Después de ver los foros, la hago como 'using (ClientContext ctx = new PnP.Framework.AuthenticationManager().GetACSAppOnlyContext(siteUrl, idcliente, idsecretoCli))'
Ambas funcionan perfectamente a nivel de escritorio si ejecuto el código con la aplicación .net, pero montado en la azure function dan error.
Creo que el problema tiene que ser algo de permisos en Azure relacionado con SharePoint.
Un saludo y gracias.