gpt4 book ai didi

delphi - 如何使用 webCal 发布日历

转载 作者:行者123 更新时间:2023-12-02 04:27:14 25 4
gpt4 key购买 nike

我的应用程序在运行时生成一个复杂的日历,因此任何用户都有特定日期/时间的任务,并且每个任务都有一个描述和一些属性。

我被要求将此日历“发布”为 webCal。我对webcal一无所知,无论如何我想知道你们是否已经尝试过并可以写下他的评论或建议。

一个问题是“如何识别用户”?由于我有一个多用户日历,如何为每个用户发布单独的日历?

我想到一种连续运行的Delphi服务应用程序,发布日历。

最佳答案

这取决于您的用户是否需要对其日历的写入权限。

我曾经编写过一个简单的(命令行)实用程序,用于导出单个 (.ics) 日历文件。如果发生更改,它会将导出的 .ics 文件上传到 Web 服务器,日历客户端(例如 Google 日历、iCalendar、Sunbird、Outlook)可以在其中获取该文件。通过将 .ics 文件上传到每个用户的不同文件夹,可以轻松完成针对不同用户的发布。

接下来,我安排该实用程序定期运行。当然,您可以让 Delphi 服务定期执行此操作。

许多日历客户端都可以理解 http:// URL 以及 webdav:// URL。可以使用常规 HTTP 身份验证方案之一来安排身份验证。当然,您需要使用 SSL 来保护事物。

此方法的唯一限制是生成的日历实际上是只读的。

如果您想提供写访问权限,您将需要一个真正的 Webcal 服务器。真正的 webcal 实现意味着支持 webdav协议(protocol)(它本身是 HTTP 协议(protocol)的扩展)在服务器上,并从 Delphi 服务中获取更改。或者,或者在 Delphi 中编写 WebDav/CalDav 服务器( 例如,通过扩展 TIdHTTPServer 组件来使用 Indy TIdWebdav 组件 ,因为 Indy 不支持 TIdWebdavServer 组件)。

根据 WebDAV specs,您必须自己处理所有特定于 webdav 的命令(使用 OnCommandOther 事件)。 。这个question about writing a WebDAV server可能会提供一些指导...

或者,您可以使用第 3 方 webdav 服务器,并从 Delphi 服务中获取任何更改。

关于delphi - 如何使用 webCal 发布日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11500095/

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