tutorial español consumir consume conectar asp.net rest sharepoint sharepoint-2013

asp.net - español - rest api c#



Uso de las API REST de HTTPClient y Sharepoint 2013 para obtener documentos (1)

Según el mensaje de excepción que está informando, parece que el certificado SSL no es válido para el sitio. A menudo veo este mensaje en entornos de desarrollo o prueba donde se usan centavos autofirmados. Debería poder saber si el certificado no es válido si tiene que hacer clic en un mensaje de advertencia cuando visita la URL en un navegador. Para solucionar el problema, puede intentar conectarse a través de http si la seguridad del transporte no es una preocupación, obtenga o instale un certificado válido, o importe el certificado actual en la tienda Trusted Root Authorities del Usuario actual o la Máquina local.

Estoy trabajando en una aplicación web .NET. Estoy intentando conectarme a Sharepoint Online Premise para obtener documentos en la "Biblioteca de documentos" utilizando HTTPClient y Sharepoint 2013 REST API.

Probé el siguiente servicio de descanso en el navegador para esto,

https://site_url/_vti_bin/ListData.svc/Documents

que da los metadatos de todos los documentos presentes en la biblioteca de documentos del sitio web en particular.

Ahora cuando trato de hacer lo mismo programáticamente agregando una referencia a la URL del servicio y usando el siguiente código,

TestSiteDataContext ctx = new TestSiteDataContext(new Uri("https://site url/_vti_bin/ListData.svc")); ctx.Credentials = new NetworkCredential("[email protected]", "test"); var data = ctx.Documents.ToList();

Recibo la siguiente excepción: "Se anuló la solicitud: no se pudo crear el canal seguro SSL / TLS". El seguimiento de la pila es el siguiente:

at System.Net.HttpWebRequest.GetResponse() at System.Data.Services.Client.QueryResult.Execute() at System.Data.Services.Client.DataServiceRequest.Execute[TElement](DataServiceContext context, QueryComponents queryComponents) at System.Data.Services.Client.DataServiceQuery`1.Execute() at System.Data.Services.Client.DataServiceQuery`1.GetEnumerator() at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source) at SPO_AccessAWebService.Program.Main(String[] args) in Location/Program.cs:line 35 at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args) at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ThreadHelper.ThreadStart_Context(Object state) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart()

He revisado varios artículos / blogs para encontrar una solución para esto. Bus no pudo encontrar ninguno. Pude ver varias muestras que muestran la autentificación por medio de,

ctx.Credentials = CredentialCache.DefaultNetworkCredentials;

Esto también arroja el mismo error.

¿Hay alguna otra forma de autenticar la API REST de SharePoint 2013?

¿Alguien puede proporcionarme algunas ideas para resolver este problema?