gpt4 book ai didi

node.js - 使用服务器作为 CalDAV 客户端来同步日历数据和关注点

转载 作者:行者123 更新时间:2023-12-02 01:30:22 25 4
gpt4 key购买 nike

对于日历应用程序,我想知道第 3 方日历事件的变化。例如,用户将 iCal/Google 日历添加到我的应用程序中。我的应用程序应该收到事件更改的通知。经过一些研究,似乎 CalDAV 是这样做的方法。但我不完全理解该应用程序应该如何工作。

所以到目前为止我的理解是:我将让我的服务器充当 CalDAV 客户端。用户将向我的应用程序提供登录凭据以从他们的日历中获取数据?我有 2 个问题:安全性和性能(如何同步)

安全

这听起来很有效,但它非常不安全(因为我必须将我的登录凭据提供给一些不受信任的服务器)?似乎应该改用 OAuth?有什么我不能正确理解的吗?

如何同步和性能

我希望收到有关日历更改的通知(例如,如果用户更新了 Google 日历)。类似于 webhook 的东西应该是最好的。但是有这样的事情吗?当我看一个包裹时 dav 在 NPM 中,似乎都是基于拉动的。如果我必须不断地轮询更改,那可能效率很低吗?

我打算使用 NodeJS 构建服务器

最佳答案

Wrt安全,你是对的。对于许多(大多数)CalDAV 服务器,您需要存储用户凭据(通常使用基本或摘要身份验证)。哪个不好。虽然有些服务器,比如 Google CalDAV API,支持(甚至需要)OAuth。

Wrt to push,你又是对的。 DAV 的推送还没有标准。有些服务器确实会推送,例如 iCloud 或 Apple CalendarServer,但它们使用专有协议(protocol)进行推送,这对您的用例没有帮助。所以是的,你很可能必须轮询(确保使用同步报告来提高效率)。虽然所需的轮询请求并不太昂贵并且可以经常运行。

简而言之:您的分析是正确的。当前版本的 CalDAV 主要针对纯客户端-服务器交互,并且对您的应用程序存在缺陷。尽管它仍然是您拥有的最佳选择:-)

关于node.js - 使用服务器作为 CalDAV 客户端来同步日历数据和关注点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34605057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com