使用Host-Provider方式开发的App,无法获取SharePoint Online中的item
2017-08-03 15:35
393 查看
微软官方使用CAML读取Host Web上的list中的item的示例代码请参见:点击打开链接
我使用的代码为:
这段代码是参照示例代码编写,运行良好,但是突然读取不到host web中list的item了,读取的结果一直是空的。
查了半天代码,确定代码没有问题,最后才发现是App的权限不够,我之前赋予App的权限是Host web里List的Write权限。正确的权限设置是在AppManifest.xml中,Permissions标签页下将App在List上赋予Full Control的权限。如果不是Full Control,无法读取list中的item。这个变化应该是来自于SharePoint Online的权限更改,将读取host web中的item需要的权限提高导致的。
SharePoint Online以及整个Office 365一直处于不断的升级中,像这样的变化对app的影响还是很大的。从这里可以得到的一个经验是,为App赋予尽可能高的权限。
我使用的代码为:
List selectedList = lists.GetByTitle("TestList"); clientContext.Load<List>(selectedList); clientContext.ExecuteQuery(); CamlQuery camlQuery = new CamlQuery(); camlQuery.ViewXml = @"<View><Query><Where><In><FieldRef Name='ID' /></In><Values><Value Type="Counter">1</Value></Values></Where></Query></View>"; Microsoft.SharePoint.Client.ListItemCollection listItems = selectedList.GetItems(camlQuery); clientContext.Load<Microsoft.SharePoint.Client.ListItemCollection>(listItems); clientContext.ExecuteQuery();
//执行以上代码之后,变量listItems一直是空的。
这段代码是参照示例代码编写,运行良好,但是突然读取不到host web中list的item了,读取的结果一直是空的。
查了半天代码,确定代码没有问题,最后才发现是App的权限不够,我之前赋予App的权限是Host web里List的Write权限。正确的权限设置是在AppManifest.xml中,Permissions标签页下将App在List上赋予Full Control的权限。如果不是Full Control,无法读取list中的item。这个变化应该是来自于SharePoint Online的权限更改,将读取host web中的item需要的权限提高导致的。
SharePoint Online以及整个Office 365一直处于不断的升级中,像这样的变化对app的影响还是很大的。从这里可以得到的一个经验是,为App赋予尽可能高的权限。
相关文章推荐
- SharePoint Add-in Model (App Model) 介绍 – 概念、托管方式、开发语言
- BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第11章节--为Office和SP解决方式开发集成Apps 集成SP和Office App
- 使用“Napa”开发我的第一个SharePoint App
- 使用Napa开发工具创建app - 开始构建SharePoint app系列
- 使用Rest API开发SharePoint Online
- Sharepoint online 如何使用asp.net开发项目!!!
- SharePoint 2013 App 开发—SharePoint Hosted方式,
- Sharepoint online 如何使用asp.net开发项目!!!
- sharepoint server 2007 可以使用域名访问网站,但无法使用服务器名访问
- Sharepoint 复制备份系列--使用编程方式复制列表2(Copy a SharePoint List or site ,web Programmatically)
- 使用jqMobi开发app基础:页面传值方式
- iOS 7.1使用企业应用部署方式无法安装app(2014-09-13更新:dropbox被墙后的解决方案)
- Build a SharePoint Provider Hosted App in 5 mins
- 使用SharePoint Designer创建子网站时,无法找到常见模板
- 使用jqMobi开发app基础:panel之间的跳转方式总结
- SharePoint Server 2013开发之旅(二):使用在线的开发人员网站进行SharePoint App开发
- Sharepoint 复制备份系列--使用编程方式复制列表1(Copy a SharePoint List Programmatically)
- 配置Secure Store Service (SharePoint Server 2010)显示“无法获取主密钥”
- 使用InfoPath和SharePoint Designer进行无代码工作流开发
- SharePoint Server 2013开发之旅(三):为SharePoint Server配置App开发、部署、管理环境