javascript - 如何使用 JavaScript/JQuery 在面向公众的 ASP.NET 网站上使用 SP2013 REST API?

标签 javascript jquery api rest sharepoint-2013

我有一个面向公众的 ASP.NET 站点,没有任何身份验证/授权。它严格来说是一个为匿名用户提供信息的外部站点。我正在尝试调用安全 SP2013 站点中的列表/库数据并在 ASP.NET 站点上呈现列表/库项目。 SP2013 Web 应用程序与 ASP.NET 站点位于同一服务器和域上,并且两个站点都在同一 IIS 实例下运行。

据我了解,我必须使用跨域库来执行此操作,因为我的愿望是通过匿名用户使用客户端代码(即 JavaScript/JQuery)。我认识到使用服务器端对象模型是另一种方法,并且我正在利用 C# 来实现某些功能。不管怎样,我遇到了 SP.RequestExecutor 说我没有定义应用程序 Web URL 的问题。我正在努力寻找有关如何设置的文档。挑战还在于我真的不想在查询字符串中包含 appweburl 和 hosturl (如果可能的话)。如果有其他方法可以做到这一点,我当然愿意。我真的很想利用 REST API 并使用服务帐户执行 JS 代码(理论上)。

最佳答案

您正在使用客户端代码采取正确的方法,但是由于 SharePoint 2013 的安全模型,还需要一些额外的步骤。 SharePoint 将您所创建的内容视为外部托管的 SharePoint 应用程序。您的应用程序无法通过匿名方式向 SharePoint 2013 进行身份验证;它必须具有 SharePoint 可以为其分配权限的标识。

要访问“安全 SP2013 站点”内的任何列表,您的代码必须配置一个应用程序(将驻留在应用程序 URL 中),SharePoint 可以与该应用程序交换安全 token 。您可以选择使用 Azure 作为访问控制提供程序或与您的应用程序创建 STS 信任。设置完成后,应用程序必须由将其安装到 SharePoint 的人员授予其所需的权限(在本例中为对列表的读取权限),并且只能由至少拥有以下权限级别的人员安装:该应用程序需要的列表。

有关安全模型的分步演练,我推荐 Scott Hillier 的有关 SharePoint 2013 应用程序开发的书 Microsoft SharePoint 2013 App Development (Developer Reference) .

关于javascript - 如何使用 JavaScript/JQuery 在面向公众的 ASP.NET 网站上使用 SP2013 REST API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23618580/

相关文章:

javascript - 将 http 发送到 NodeJS/Express 后端以执行函数的按钮

javascript - angularjs中如何匹配大小写字母?

ruby-on-rails - 能够自动更新API文档

javascript - 如何在另一个 javascript 函数完成后执行它?

Javascript - 按模式将字符串拆分/划分为 N 个部分的简单方法,其中最后一部分是字符串的其余部分

javascript - 使用jquery,如何清除 Canvas 中的项目?

javascript - Jquery 更改 ajaxSource 变量

jquery - 单击按钮获取下一个和上一个输入

c# - Corel 绘图 API (Java/C#)

api - UPS 运输 REST API