我创建了一个试用Office 365 sharepoint帐户供学习。在创建我的第一个Insert操作时,我得到了一个例外
访问被拒绝。您无权执行此操作或访问此资源。
我的代码是
在加载事件
中 protected void Page_Load(object sender, EventArgs e)
{
var spContext = SharePointContextProvider.Current.GetSharePointContext(Context);
using (var clientContext = spContext.CreateUserClientContextForSPHost())
{
if (clientContext == null) return;
Session["clientContext"] = clientContext;
Microsoft.SharePoint.Client.User spUser = clientContext.Web.CurrentUser;
clientContext.Load(spUser, user => user.Title);
clientContext.Load(spUser, user => user.Email);
clientContext.ExecuteQuery();
}
}
在按钮上单击保存事件(名称和EmailId)
protected void Button1_Click(object sender, EventArgs e)
{
try
{
using (var clientContext = Session["clientContext"] as ClientContext)
{
if (clientContext == null) return;
var oList = clientContext.Web.Lists.GetByTitle("SharePointTestList");
var listCreationInformation = new ListItemCreationInformation();
var itemToAdd = oList.AddItem(listCreationInformation);
itemToAdd["EmailId"] = TextBox2.Text; //My List
itemToAdd["Name"] = TextBox1.Text; //My List
itemToAdd.Update();
clientContext.Load(itemToAdd);
clientContext.ExecuteQuery();
}
}
catch (Exception ex)
{
Response.Write("Error Occured"+ex.Message);
}
}
似乎有一些许可问题。但我无法弄明白。
答案 0 :(得分:0)
正如评论中已经讨论的那样,我非常怀疑你缺乏写入目标列表的适当权限。
正如你所说,你有“限制访问”。这意味着:
可以查看特定列表,文档库,列表项,文件夹或 给定权限时的文档。
要写入列表,您需要至少授予用户“Contribute”权限。
所以这不是编程相关的问题。阅读SharePoint here中的基本权限级别。
答案 1 :(得分:0)
我在第一次创建时遇到了同样的问题。我这样解决了这个问题
AppManifest.xml
Permissions
标签FullControl
权限授予范围Web
和List