使用 REST 从 SharePoint 加载项访问外部列表
Posted
技术标签:
【中文标题】使用 REST 从 SharePoint 加载项访问外部列表【英文标题】:Access External List from SharePoint Add-In using REST 【发布时间】:2018-04-26 22:53:53 【问题描述】:我在加载项中使用 SharePoint REST API 来访问列表数据。当我查询“正常”列表时,我会得到结果。当我尝试查询外部列表时,我收到 401 错误。当我尝试在浏览器中访问 REST URL 时遇到同样的错误:
http://add-in-6f1ecc432fad91.myaddins.com/sites/development/_api/lists/getbytitle('TestExternalList')/items
当我尝试在应用程序外部访问它时,它工作正常:
http://sharepoint/sites/development/_api/lists/getbytitle('TestExternalList')/items
我了解到您无法从此处的加载项访问外部内容类型:
http://toddbaginski.com/blog/accessing-bcs-external-data-from-an-app-for-sharepoint-2013/
所以我尝试根据网站打包我的 BCS 模型,但出现以下错误:
无法通过沙盒解决方案中的功能部署项目项“TestBDC”。
所以我的问题是,是否可以通过加载项访问外部列表?
我正在使用 SharePoint 2016。
【问题讨论】:
【参考方案1】:听起来可能是权限问题。是否在应用权限中设置了 BCS 范围?
这是一篇有关设置安全性的信息的文章 https://docs.microsoft.com/en-us/sharepoint/dev/general-development/add-in-scoped-external-content-types-in-sharepoint
【讨论】:
是的,我已将应用设置为拥有完整的网站集权限(用于测试)。外部内容类型不是加载项范围,因此您提到的文章将无济于事。此外,我的外部内容类型不是 oData(它是 SQL),所以我不能使用加载项范围的内容类型。以上是关于使用 REST 从 SharePoint 加载项访问外部列表的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 访问 Office365 Sharepoint REST 端点(适用于 Python 的 Office365 Sharepoint REST 客户端)
Sharepoint 授权令牌在 REST api 中的使用
使用 rest api 在 SharePoint 组中添加用户不起作用