从提供商托管的应用程序中读取主机网站列表中的项目

时间:2014-06-19 18:19:57

标签: sharepoint sharepoint-2013 csom

我有一个提供商托管应用。我正试图访问我的主机网站列表中的列表项目。

我可以获得所有列表的列表。但是当我试图进入列表项时,它总是空的。

var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);

            using (var clientContext = spContext.CreateUserClientContextForSPHost())
            {
                clientContext.Load(clientContext.Web, web => web.Title);
                clientContext.ExecuteQuery();

                ListCollection lists = clientContext.Web.Lists;
                List list = lists.GetByTitle("TestList");

                CamlQuery camlQuery = new CamlQuery();
                camlQuery.ViewXml = "<View><RowLimit>100</RowLimit></View>";
                Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(camlQuery);
                clientContext.Load<ListCollection>(lists);
                clientContext.Load<List>(list);
                clientContext.Load<Microsoft.SharePoint.Client.ListItemCollection>(items);

                clientContext.ExecuteQuery();
                foreach (Microsoft.SharePoint.Client.ListItem item in items)
                {
                    Response.Write("<br />" + item.FieldValues["Title"]);
                }
            }

在AppManifest.xml中,我为列表添加了“完全控制”权限

3 个答案:

答案 0 :(得分:1)

在AppManifest.xml中为列表 Web

添加 READ权限

答案 1 :(得分:0)

显然我做的一切都是正确的。在安装时,我仍然必须说出哪些列表可以完全控制。

答案 2 :(得分:0)

你的代码非常好......

只需要在&#34; AppManifest.xml&#34;中进行更改。文件权限将网站集作为完全控制权,因为您正在使用主机网站。