我创建了一个应该在SharePoint中创建日历表的提供程序托管应用程序。我希望它稍后成为组日历,但首先我只需要执行第1步:创建日历。
我无法找到任何提供商托管指南,了解如何以编程方式创建SharePoint日历。我找不到ListTemplateStyle
日历,所以我尝试了事件模板,我不知道它是否可以工作,因为当我尝试运行以下代码时出现错误:
Uri hostWeb = new Uri(Request.QueryString["SPHostUrl"]);
using (var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostWeb, Request.LogonUserIdentity))
{
Web web = clientContext.Web;
ListCreationInformation listCreator = new ListCreationInformation();
listCreator.Title = "CompanyCalendar";
listCreator.Description = "Workcalendar";
listCreator.TemplateType = (int)ListTemplateType.Events; //106 = events
//clientContext.Load(web);
web.Lists.Add(listCreator);
clientContext.ExecuteQuery();
}
System.Net.WebException:远程服务器返回错误:(401) 未经授权的
Line 27: //clientContext.Load(web);
Line 28: web.Lists.Add(listCreator);
Line 29: clientContext.ExecuteQuery();
Line 30:
Line 31: }
由于某些原因,似乎未经授权在此处创建列表。我将Web权限设置为完全控制,我的证书如下所示:
<appSettings>
<add key="ClientId" value="ebcb24ca-afbb-4822-8887-f91504f3d25f" />
<add key="ClientSigningCertificatePath" value="C:\Certs\HighTrustSampleCert.pfx" />
<add key="ClientSigningCertificatePassword" value="1234" />
<add key="IssuerId" value="11111111-1111-1111-1111-111111111111" />
</appSettings>
任何idéas?
我的第二个问题是:我需要学习如何将日历作为组日历?任何提示?
由于
答案 0 :(得分:0)
答案 1 :(得分:0)
我自己解决了。
我最近使用SharePoint开发人员站点来调试(在我的情况下是“https://mysite@company.onmicrosoft.com”)。由于我在虚拟机上工作,我应该使用该本地服务器站点(在我的情况下为"http://SERVER1
“)。
当我登录到我的虚拟机时,我使用我的Windows用户名和密码登录(在我的情况下,用户名是“开发人员”)并且能够使用该登录与codesnippet "Request.LogonUserIdentity"
我的调试站点必须是虚拟服务器(在我的情况下是"http://SERVER1
“)。
在我更改为SERVER1之后,它工作了,ListTemplateType.Events
创建日历的模板,问题就解决了。
问题1:如何创建sharepointcalendar
Answear:(int)ListTemplateType.Events;
问题2: System.Net.WebException: The remote server returned an error: (401) Unauthorized.
Answear:检查您的调试网站。确保"Request.LogonUserIdentity"
或(您登录到Windows的用户)已向您调试的网站承诺
问题3:如何在Privider托管应用上以编程方式将“组日历选项”设置为"true"
。
Answear:未解决 :(