[C#] 使用 iCal.NET 產生 .ICS 行事曆事件+鬧鐘
雖然已經 21 世紀了,我也不知道為何業主非常喜歡 .ICS 這東西
不過,沒辦法收費辦事情,之前,我是自己大概看一下規格後自己產生,
但是最近客戶要做一些改動需求,不能夠這麼單幹了,查詢了一下,有一套一直有在更新的套件 Ical.Net
解釋一下案例,因為只是測試,所以我暫定,就是我程式執行時間的一周後,產生一個事件,十分鐘 後結束
並且再開始前 15 分鐘提醒。
1. Nuget 下載套件 ,我看了一下一直都有再更新升級到 .NET 6 支援
https://www.nuget.org/packages/Ical.Net
2. 接下來就是程式碼的部分
這裡面 注意 event 中的 Summary 一定要寫,因為我用 outlook 的行事曆,如果沒有寫就不會出現任何訊息
非常的奇怪
測試引入 outlook.com 行事曆後
3. 關於時區得部分可以參考這篇文章
https://unicode-org.github.io/cldr-staging/charts/37/supplemental/zone_tzid.html
台灣的是 Asia/Taipei
大概就是這樣,不過因為 summary 問題讓我一直測不出來,之後配合這一篇
https://blog.no2don.com/2023/01/c-aspnet-core-60-wwwroot.html
你就可以做出 下載 .ics 的行事曆預約事件
reference:
https://icalendar.org/RFC-Specifications/iCalendar-RFC-5545/
https://unicode-org.github.io/cldr-staging/charts/37/supplemental/zone_tzid.html
https://github.com/rianjs/ical.net