Vcalendar にエクスポートする際に、[宛先] フィールドにログオン ユーザーのメール アドレスを設定する必要があります。
public static void ExportToIcalender(HttpContext ctx, DateTime startDate, DateTime endDate, string organizer, string location, string summary, string description)
{
string DateFormat = "yyyyMMddTHHmmssZ";
ctx.Response.ClearContent();
ctx.Response.ContentType = "text/calendar";
ctx.Response.AddHeader("Content-disposition", "attachment; filename=appointment.ics");
ctx.Response.Write("BEGIN:VCALENDAR");
ctx.Response.Write("\nVERSION:2.0");
ctx.Response.Write("\nMETHOD:PUBLISH");
ctx.Response.Write("\nBEGIN:VEVENT");
**ctx.Response.Write("\nORGANIZER:MAILTO:" + organizer);**
ctx.Response.Write("\nDTSTART:" + startDate.ToUniversalTime().ToString(DateFormat));
ctx.Response.Write("\nDTEND:" + endDate.ToUniversalTime().ToString(DateFormat));
ctx.Response.Write("\nLOCATION:" + location);
ctx.Response.Write("\nUID:" + DateTime.Now.ToUniversalTime().ToString(DateFormat) + "@mysite.com");
ctx.Response.Write("\nDTSTAMP:" + DateTime.Now.ToUniversalTime().ToString(DateFormat));
ctx.Response.Write("\nSUMMARY:" + summary);
description = HtmlRemoval.StripTagsRegexCompiled(description).Replace("\r\n", "\\n");
ctx.Response.Write("\nDESCRIPTION:" + description);
ctx.Response.Write("\nPRIORITY:5");
ctx.Response.Write("\nCLASS:PUBLIC");
ctx.Response.Write("\nEND:VEVENT");
ctx.Response.Write("\nEND:VCALENDAR");
ctx.Response.End();
}
この行は役に立ちません:
ctx.Response.Write("\nORGANIZER:MAILTO:" + organizer)
ソルンを提供してください。