migarating calendatar data from shared exchange 2010 calendar to sharepoint 2013
public static void AddAppointmentToSharepointWithClientObjectModule(DateTime s,DateTime e,string title,string desc){
string siteUrl = "https://intern.abc.net.cn/";
ClientContext clientContext = new ClientContext(siteUrl);
NetworkCredential Cred = new NetworkCredential("test", "abcdefg", "domain");
clientContext.Credentials = Cred;
//end authentication
Microsoft.SharePoint.Client.List oList = clientContext.Web.Lists.GetByTitle("cal");
ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
ListItem oListItem = oList.AddItem(itemCreateInfo);
oListItem["Title"] = title;
oListItem["Description"] = "New Event created using SharePoint Object Model";
//oListItem["Location"] = "First Floor";
oListItem["EventDate"] = s;
oListItem["EndDate"] = e;
//oListItem["Category"] = "Business";
//oListItem["fAllDayEvent"] = false;
oListItem.Update();
clientContext.ExecuteQuery();
}
public static void GetExchangePublicCalendar()
{
System.Text.StringBuilder sb = new System.Text.StringBuilder();
ExData.ExchangeService service = new ExData.ExchangeService(ExData.ExchangeVersion.Exchange2010_SP2);
service.Credentials = new NetworkCredential("test", "abcdefg", "domain");
service.Url = new Uri("https://mail.abc.local/ews/Exchange.asmx");
//service.Credentials = new NetworkCredential("test", "abcdefg", "temp");
//service.Url = new Uri("https://cas.temp.local/ews/Exchange.asmx");
var rootfolder = ExData.Folder.Bind(service, ExData.WellKnownFolderName.PublicFoldersRoot);
rootfolder.Load();
foreach (ExData.Folder folder in rootfolder.FindFolders(new ExData.FolderView(int.MaxValue)))
{
if (!string.IsNullOrEmpty(folder.DisplayName))
{
Console.WriteLine(folder.DisplayName);
try
{
foreach (ExData.Folder f1 in folder.FindFolders(new ExData.FolderView(int.MaxValue)))
{
if (f1.DisplayName.ToLower() == "calender")
{
Console.WriteLine(" ---------");
sb.AppendLine(" ---------");
var _cal = f1.Id;
var _calendarView = new Microsoft.Exchange.WebServices.Data.CalendarView(System.DateTime.Now.AddYears(-6).AddYears(-1), System.DateTime.Now.Date.AddYears(-6).AddYears(1));
foreach (Microsoft.Exchange.WebServices.Data.Appointment appointmentItem in service.FindAppointments(_cal, _calendarView))
{
AddAppointmentToSharepointWithClientObjectModule(appointmentItem.Start, appointmentItem.End,appointmentItem.Subject,"");
Console.WriteLine(appointmentItem.Subject);
sb.AppendLine(appointmentItem.Subject);
Console.WriteLine(appointmentItem.Start);
sb.AppendLine(appointmentItem.Start.ToString());
Console.WriteLine(appointmentItem.End);
sb.AppendLine(appointmentItem.End.ToString());
//appointmentItem.Load();
//Console.WriteLine(appointmentItem.Body);
}
Console.WriteLine(" ---------");
sb.AppendLine(" ---------");
}
Console.WriteLine(" ++" + f1.DisplayName);
foreach (ExData.Folder f2 in f1.FindFolders(new ExData.FolderView(int.MaxValue)))
{
Console.WriteLine(" ++" + f2.DisplayName);
sb.AppendLine(" ++" + f2.DisplayName);
}
}
}
catch (Exception ex)
{
Console.WriteLine(" --" + ex.Message);
sb.AppendLine(" --" + ex.Message);
}
}
}
log(sb.ToString());
}
static void log(string str)
{
System.IO.File.AppendAllText(@"c:\log.txt",str);
}
页:
[1]