C# 将约会转换为Icalendar windows8.1 c

C# 将约会转换为Icalendar windows8.1 c,c#,windows-runtime,icalendar,appointment,C#,Windows Runtime,Icalendar,Appointment,在windows 8.1中,日历管理使用windows.ApplicationModel.Appointments命名空间 我正在努力理解它,它很容易管理 我可以做到: -创建日历 -在设备上查看日历 -创建事件 这很容易,也很好 我想知道如何将Windows.ApplicationModel.Appointment.Appointment对象转换为Icalendar对象。这样我就可以在不同的应用程序上操作事件了 我的计划如下: 创建appointmet->将其序列化为json字符串->将此js

在windows 8.1中,日历管理使用windows.ApplicationModel.Appointments命名空间

我正在努力理解它,它很容易管理

我可以做到: -创建日历 -在设备上查看日历 -创建事件

这很容易,也很好


我想知道如何将Windows.ApplicationModel.Appointment.Appointment对象转换为Icalendar对象。这样我就可以在不同的应用程序上操作事件了

我的计划如下:

创建appointmet->将其序列化为json字符串->将此json字符串转换为Icalendar json字符串->将此json对象发送到其他应用程序或web服务

我可以在windows 8.1上提取约会的json对象,该对象具有以下结构:

{
    "RoamingId": "",
    "ReplyTime": null,
    "OnlineMeetingLink": "",
    "IsResponseRequested": true,
    "IsOrganizedByUser": false,
    "IsCanceledMeeting": false,
    "AllowNewTimeProposal": true,
    "UserResponse": 0,
    "CalendarId": "",
    "HasInvitees": false,
    "LocalId": "",
    "OriginalStartTime": null,
    "Sensitivity": 0,
    "Reminder": null,
    "Recurrence": {
        "WeekOfMonth": 0,
        "Until": null,
        "Unit": 3,
        "Occurrences": 6,
        "Month": 1,
        "Interval": 3,
        "DaysOfWeek": 32,
        "Day": 1,
        "TimeZone": "",
        "RecurrenceType": 0
    },
    "Organizer": null,
    "Location": "",
    "Duration": "00:00:00",
    "Details": "",
    "BusyStatus": 0,
    "AllDay": false,
    "StartTime": "2014-09-08T08:08:00+03:00",
    "Uri": null,
    "Subject": "this",
    "Invitees": {

    }
}
但Icalendar的结构如下:

BEGIN:VCALENDAR
PRODID:-//Test Productions //Test Event//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
SUMMARY:Test Event
DESCRIPTION:Description of Test Event
DTSTART:20140825T100000Z
DTEND:20140831T110000Z
RRULE:FREQ=DAILY;UNTIL=20141231T060000Z
LOCATION:Planer Earth
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER:-PT1H
ACTION:EMAIL
END:VALARM
END:VEVENT
END:VCALENDAR
所以他们不容易匹配

我的问题是:

windows 8.1 API中是否有内置功能可以直接为我提供Icalendar对象

如果没有,那么:是否有第三方开源库更愿意为我这样做

如果不是这样,我必须自己做,并创建自己的库权利??
我不想重新发明轮子

Windows.ApplicationModel.Appointments不讲Icalendar


据我所知,icalendar的唯一.net库是。我不知道该怎么推荐它。该论坛仍然存在,但代码似乎没有得到积极维护,我承认,我不确定是否得到了解决。在任何情况下,它都不知道新的Windows.ApplicationModel.Appoints命名空间


我不认为使用Json有什么意义。Icalendar是一种相当简单的格式,根据您的要求,您应该能够使用字符串方法直接从约会生成Icalendar。

Windows.ApplicationModel.Appointments使用Icalendar,但使用Microsoft way!!这个问题就是为了发现它。您在outlookhotmail日历中创建的任何约会事件都可以轻松与gmail或apple日历同步,因为它们都符合icalendar标准,只是略有不同。您将在Windows.ApplicationModel.Appoints中使用哪些对象和方法来生成icalendar。我好像找不到他们,我也找不到!但为什么outlook日历会接受和读取ics文件,并与谷歌、苹果、雅虎和fb日历交换活动呢??似乎你必须编写自己的库,才能将ics格式转换为appointmentManager格式…我现在正在探索一些东西,并试图获得像你一样的专家意见,希望msft的人能够阅读并更新我们