使用 HTTPClient 和 Sharepoint 2013 REST API 获取文档

2024-02-09

我正在使用 .NET Web 应用程序。我正在尝试连接到 Sharepoint Online Premise,以使用 HTTPClient 和 Sharepoint 2013 REST API 获取“文档库”中的文档。

我为此在浏览器中测试了以下休息服务,

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

它给出了特定网站的文档库中存在的所有文档的元数据。

现在,当我尝试通过添加对服务 URL 的引用并使用以下代码以编程方式执行相同操作时,

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

我收到以下异常: “请求已中止:无法创建 SSL/TLS 安全通道。” 堆栈跟踪如下:

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()

我经历过各种文章/博客 http://www.c-sharpcorner.com/uploadfile/anavijai/rest-api-in-sharepoint-2010-for-listdata-svc-part-2/寻找解决方案。Bust找不到任何解决方案。 我可以看到各种显示通过以下方式进行身份验证的样本,

ctx.Credentials = CredentialCache.DefaultNetworkCredentials;

这也引发了同样的错误。

是否有其他方法来验证 SharePoint 2013 REST API?

有人可以为我提供一些见解来解决这个问题吗?


根据您报告的异常消息,SSL 证书似乎对该站点无效。我经常在使用自签名美分的开发或测试环境中看到此消息。当您在浏览器中访问 URL 时必须单击警告消息,您应该能够判断证书是否无效。要解决此问题,如果不考虑传输安全,您可以尝试通过 http 连接,获取或安装有效的证书,或者将当前证书导入到当前用户或本地计算机的受信任根权限存储中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 HTTPClient 和 Sharepoint 2013 REST API 获取文档 的相关文章

  • ADO.NET 池连接无法重用

    我正在开发一个 ASP NET MVC 应用程序 该应用程序使用 EF 6 x 来处理我的 Azure SDL 数据库 最近 随着负载的增加 应用程序开始进入无法再与 SQL 服务器通信的状态 我可以看到有 100 个到我的数据库的活动连接
  • RESTful 资源 - 接受对象列表

    我正在构建一个 RESTful 资源集合 其工作方式如下 我将使用 人 作为示例 GET people key returns a person object JSON GET people first name Bob returns a
  • 使用 mocha/chai 确保 REST API 提供文件?

    我想验证对 REST API 端点之一的调用是否正在提供文件 但我不确定如何进行操作 并且我没有看到任何相关示例 我确实看过文档 http chaijs com api bdd 但这对我没有多大帮助 服务器端代码本质上是 在 Express
  • 如何使用 linq 通过主键组合三个对象列表

    我正在尝试合并 3 个对象列表 我有一个人员列表 地址列表和地址关系列表 我想将这些列表组合成一个按 person id 排序的新列表 将其用作列表视图的数据源 然后能够访问 aspx 页面中的属性 这可能吗 Roughly using S
  • UpdatePanel 破坏 JQuery 脚本

    这是我想做的事情的简化版本 基本上我有一个数据列表 里面有很多东西 当你将鼠标悬停在数据列表中的项目上时 我希望 jquery 隐藏 显示东西 问题是 在我进行数据绑定后 如果 gridview repeater datalist 位于更新
  • 使用 .net 3.5 和 C# 检测 Chrome

    好的 我正在使用此代码来检测浏览器 使用 chrome 时 它 给我浏览器 苹果MAC Safari 我需要它说 chrome Ater 环顾四周 我发现了这个 Google Chrome Safari 相同的浏览器名称和版本 https
  • 将 aspx 文件加载到 xmldocument 中

    我希望能够将 aspx 页面加载到 XmlDocument 变量中 我怎么做 这是我尝试过的 它期望 xml 文件而不是 aspx 页面 有没有办法将aspx页面即时转换为xml文档并加载它 谢谢 string filePath C Web
  • 通过 JavaScript 单击按钮/页面提交

    我想了解 asp net 框架如何知道何时单击了按钮 因此一旦收到请求 就会在服务器上触发其单击事件 我需要了解它是如何工作的 因为我想从 JavaScript 触发按钮的服务器单击事件 我能够从 JavaScript 执行页面提交 doc
  • ASP.NET 5 中的全局异常处理

    如何将自己的日志记录逻辑附加到 ASP NET 5 应用程序以处理业务逻辑和较低层中引发的每个异常 我尝试用自己的ILoggerProvider实施和loggerfactory AddProvider new LoggerProvider
  • 在 C# 中,如何根据在 gridview 行中单击的按钮引用特定产品记录

    我有一个显示产品网格视图的页面 该表内有一列 其中有一个名为 详细信息 的超链接 我想这样做 以便如果用户单击该特定产品的详细信息单元格 将打开一个新页面 提供有关该产品的更多信息 我不确定如何确定哪个Product记录链接的详细信息以及我
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • RESTful API:我应该在哪里编码我的工作流程?

    我正在开发一个 RESTful API 这是我的第一个 API 也是我的第一个真正大型的编码项目 因此 我仍在学习很多关于建筑等方面的知识 目前 我的 api 设置分为以下几层 HTTP层 资源层 领域模型 业务逻辑层 数据访问 存储层 持
  • 使用“dnupublish”排除发布项目上的文件夹

    如何使用 dnupublish 命令从 wwwroot 中排除文件夹 示例 在我的项目中存在许多文件夹 我需要排除wwwroot lib and wwwroot 源 我正在使用 clr 1 0 0 beta7 12302 The wwwro
  • ASP.NET AJAX 进度条:从代码隐藏更新?

    我在应用程序中具有 Excel 电子表格的导入功能 目前它使用 FileUpload 控件 我上传文件 然后对该文件运行操作 我想通知用户正在完成的操作以及完成的百分比 我认为我可以获取从 Excel 电子表格中提取的总行数 并在将每条记录
  • ASP.Net 异步 HTTP 文件上传处理程序

    我正在尝试在 C 中创建一个异步文件上传处理程序 并且可以通过 AJAX 异步请求提供有关文件进度的更新 基本上 如果请求是 POST 它会将一些信息加载到会话中 然后开始上传 如果请求是 GET 它会返回上传的当前状态 上传的字节数 总字
  • 我可以将 JSON 字符串转换为 JsonResult 吗?

    我在数据库中存储了一些存储的 JSON 字符串 我想将其作为 JsonResult 返回给客户端 我知道 Json object 将对象转换为 JsonResult 但如果我已经将结果存储在字符串中怎么办 我可以将其转换为 JsonResu
  • ASP.NET 会员电子邮件验证

    尝试基于 C 创建电子邮件验证本文 https web archive org web 20211020153319 https www 4guysfromrolla com articles 062508 1 aspx 我创建了一个 ja
  • 本地主机和 request.Url.Authority

    我的应用程序通过 URL 中的公司标识符分隔用户 company1 app com company2 app com 我正在本地 PC 上进行测试 请求如下 company1 localhost com 但是 我的 request Url
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • 更改成员资格、角色等的默认连接字符串

    默认情况下 我的网络应用程序似乎正在使用LocalSqlServer作为用于任何应用程序服务 例如成员资格 角色 身份验证 等 的连接字符串 有什么方法可以更改默认连接字符串应该是什么 默认值是 LocalSqlServer 似乎很随意 我

随机推荐