Jie*_*eng 7 calendar caldav node.js
对于日历应用程序,我想了解第三方日历事件的更改。例如,用户将 iCal/Google 日历添加到我的应用程序中。我的应用程序应该收到事件更改的通知。经过一番研究,CalDAV 似乎是可行的方法。但我不完全理解该应用程序应该如何工作。
到目前为止我的理解是:我将让我的服务器充当 CalDAV 客户端。用户将向我的应用程序提供登录凭据以从其日历中获取数据?我有两个担忧:安全性和性能(如何同步)
安全
这听起来好像可行,但它是否非常不安全(因为我必须向某些不受信任的服务器提供登录凭据)?看来应该用 OAuth 来代替?有什么我理解不正确的地方吗?
如何同步和性能
我希望收到日历更改的通知(例如,如果用户更新 Google 日历)。类似于 webhooks 的东西应该是最好的。但有这样的事吗?当我查看davNPM 中的包时,似乎它都是基于拉取的。如果我必须不断轮询更改,效率可能会非常低?
我打算使用 NodeJS 构建服务器
关于安全,你是对的。对于许多(大多数)CalDAV 服务器,您需要存储用户凭据(通常使用基本或摘要式身份验证)。这很糟糕。尽管某些服务器(例如 Google CalDAV API)支持(甚至需要)OAuth。
就推而言,你又是对的。DAV 中的推送尚无标准。有些服务器确实会进行推送,例如 iCloud 或 Apple CalendarServer,但它们使用专有协议来进行推送,这对您的用例没有帮助。所以是的,您很可能必须进行轮询(确保使用同步报告来提高效率)。尽管所需的轮询请求并不太昂贵并且可以经常运行。
简而言之:您的分析是正确的。当前版本的 CalDAV 主要针对纯粹的客户端-服务器交互,并且对于您的应用程序来说存在缺陷。尽管它仍然是您最好的选择:-)
| 归档时间: |
|
| 查看次数: |
2526 次 |
| 最近记录: |