相关疑难解决方法(0)

在c#中创建iCal文件

我正在寻找一种在c#(asp.net)中生成iCalendar文件(*.ics)的好方法.我找到了一些资源,但缺少的一点是它们支持quoted-printable字段 - 具有回车符和换行符的字段.

例如,如果描述字段编码不正确,则只显示第一行并可能破坏*.ics文件中的其余信息.

我正在寻找可以生成*.ics文件的现有类和/或可以生成带引号的可打印字段的类.

c# asp.net icalendar

76
推荐指数
2
解决办法
6万
查看次数

如何自动将ICS会议添加到管理器的日历中?

我们的java应用程序使用ical4j生成ICalendar文件,并将它们作为HTML电子邮件通知的一部分发送给用户.几个用户(会议的组织者)报告会议的"接受","拒绝"等按钮显示为灰色,并且不可点击.会议未添加到组织者的日历中.

如何强制为管理器添加会议?

我暂时配置服务器以将.ics文件作为附件(而不是内联)发送,以便我可以通过基于Web的ICalendar验证器运行它.验证器给了我一个警告,说明Version属性应该是第一个属性,但没有发现任何其他问题.

除了组织者之外,ICalendar通常适用于每个用户.

我能够在自己的Outlook帐户上重现该问题.我注意到,如果我通过gmail邮件服务器发送会议通知,它会正常工作; 但是,当它来自我们的内部Outlook服务器时,它不会被添加到日历中.

灰显的会议控件下方会显示一条消息:"作为会议组织者,您无需回复​​此会议."

我们的系统生成的示例ICalendar文件:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//MyCompany//Product//EN
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTAMP:20101202T210423Z
UID:77B17E9B-BE02-476E-816B-ED9558EE7D2A
DTSTART:20101230T133000
DTEND:20101230T143000
SUMMARY:Review Meeting for A1 CI Review #123456
LOCATION:BLDG - 123
CREATED:20101202T210423Z
LAST-MODIFIED:20101202T210423Z
TZID:America/New_York
ORGANIZER;CN="ORGANIZER, THE";SENT-BY="mailto:noemail@mycompany.com":mailto:myemail@mycompany.com
ATTENDEE;ROLE=REQ-PARTICIPANT;CN="ATTENDEE, SOME":mailto:noemail@mycompany.com

END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

编辑:

我尝试将会议组织者添加为"可选"参与者.没有骰子; 同样的行为.

再次编辑这个问题以反映我在这个问题上的进展.

icalendar outlook outlook-2007 meeting-request ical4j

8
推荐指数
1
解决办法
1万
查看次数

如何使用DDay.iCal创建Outlook"约会"?

我正在使用DDay库来创建iCal事件,以便我的网站用户可以在他们的日历中添加内容.

我希望他们在Office 2010中添加约会而不是会议请求(希望其他人也是如此).当我使用库并将方法设置为PUBLISH时,它确实显示为约会,但它报告在日历中找不到会议.然后,当我点击不需要回复时,该项目将被删除,并且不会保留在他们的日历中.

如果我将方法更改为REQUEST,它将显示为会议请求.这可能是第二好的选择,但'to'字段是空白的.如果这是我能做的最好的,我怎样才能设置'到'字段?我想我会让他们回应自己.

private static string CreateCalendarEvent(
    string title, string body, DateTime startDate, double duration, 
    string location, string organizer, string eventId, bool allDayEvent)
{
    // mandatory for outlook 2007
    if(String.IsNullOrEmpty(organizer))
        throw new Exception("Organizer provided was null");

    var iCal = new iCalendar
    {
        Method = "PUBLISH",
        Version = "2.0"
    };

    // "REQUEST" will update an existing event with the same UID (Unique ID) and a newer time stamp.
    //if (updatePreviousEvent)
    //{
    //    iCal.Method = "REQUEST";
    //}

    var evt = iCal.Create<Event>(); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net icalendar dday

8
推荐指数
1
解决办法
1万
查看次数

如何让Outlook处理事件更新?

我试图在Outlook 2007中创建,更新和删除事件(但最好是它适用于所有版本).创建和删除事件工作正常.我跟踪了几个 线程,但由于某种原因,更新操作失败了.

当我双击ICS文件时,Outlook会打开一个窗口,我唯一的选择是删除.但它要删除的事件不是旧事件,而是新事件(即使它尚未创建).所以当我点击删除时,旧事件仍然在这里.

UID是相同的,序列已增加1,DTSTAMP更新.

第一项活动:

BEGIN:VCALENDAR
PRODID:-//Blatant Media Corporation//Absorb LMS//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
CLASS:PUBLIC
DTSTART;VALUE=DATE-TIME:20101111T13000000Z
DTEND;VALUE=DATE-TIME:20101111T14000000Z
UID:AbsorbClass150180
DESCRIPTION:A nov session for demoing only\n\nVenue:\nBoardroom 123\n\nInstructor:\nMike Owens\n\nCourse Description:\nInstructor Led Training (ILT) topic: First Aid\n\n------------------\nAbsorb Anywhere\nhttp://www.absorbtraining.com
LOCATION:Boardroom 123
SUMMARY:First Aid: Nov
DTSTAMP:20101107T15353400Z
LAST-MODIFIED:20101107T15353400Z
STATUS:CONFIRMED
SEQUENCE:0
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)

更新的活动:

BEGIN:VCALENDAR
PRODID:-//Blatant Media Corporation//Absorb LMS//EN
VERSION:2.0
METHOd:REQUEST
BEGIN:VEVENT
CLASS:PUBLIC
DTSTART;VALUE=DATE-TIME:20101111T15000000Z
DTEND;VALUE=DATE-TIME:20101111T16000000Z
UID:AbsorbClass150180
DESCRIPTION:A nov session for demoing only\n\nVenue:\nBoardroom 123\n\nInstructor:\nMike Owens\n\nCourse Description:\nInstructor Led Training (ILT) topic: First Aid\n\n------------------\nAbsorb Anywhere\nhttp://www.absorbtraining.com
LOCATION:Boardroom 123
SUMMARY:First Aid: …
Run Code Online (Sandbox Code Playgroud)

icalendar outlook

6
推荐指数
1
解决办法
8265
查看次数

标签 统计

icalendar ×4

asp.net ×2

c# ×2

outlook ×2

dday ×1

ical4j ×1

meeting-request ×1

outlook-2007 ×1