gpt4 book ai didi

php - iCal : Add event to calendar via webcal://

转载 作者:行者123 更新时间:2023-12-05 07:25:00 27 4
gpt4 key购买 nike

好吧,我创建了一个小脚本来生成 iCal 事件并使用 webcal 协议(protocol)自动将其添加到日历。

脚本的工作方式如下:我在服务器上托管 ical-generator.php 文件,并通过在开头添加 webcal 来发送包含必要信息的 url。

webcal://www.test.com/ical-generator.php?id=66038&titulo=Teste&data-inicio=20190311&data-final=20190312&local=Teste&descricao=Lorem Ipsum dolor&url=http://www.test.com/

但是,当我将事件导入日历时,这个唯一的事件最终被添加为新日历而不是单个事件,应该添加到用户现有的日历中。

这是脚本:

    <?php
header("Content-type: text/calendar; charset=utf-8");
header("Content-Disposition: inline; filename=\"teste-evento-".$_GET['titulo'].".ics" ."\"");

echo "BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//TESTE//NONSGML Teste//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:".$_GET['id']."-teste.com.br
ORGANIZER;CN=TESTE:MAILTO:teste@teste.com.br
SUMMARY:".$_GET['titulo']."
STATUS:CONFIRMED
DTSTART:".$_GET['data-inicio']."
DTEND:".$_GET['data-final']."
DTSTAMP:".date('Ymd').'T'.date('His')."
LOCATION:".$_GET['local']."
DESCRIPTION:".$_GET['descricao'].".\nSaiba mais em: ".$_GET['url']."
URL:".$_GET['url']."
CLASS:PUBLIC
TRANSP:TRANSPARENT
PRIORITY:5
SEQUENCE:0
X-MICROSOFT-CDO-IMPORTANCE:1
END:VEVENT
END:VCALENDAR";

最佳答案

(请注意 webcal 是非官方 URI(得到了很好的支持,但官方 uri 是 http/s,所有日历应用程序都应支持它。请参阅 https://www.rfc-editor.org/rfc/rfc5545#section-3.8.4.6https://en.wikipedia.org/wiki/Webcal。)

现在,应用程序如何处理 ics 文件或 URL 通常取决于用户的操作。 EG:在谷歌日历中,如果点击添加日历 > 导入,谷歌将提供默认的主日历导入,或允许从其他日历中选择。

如果点击添加日历 -> 从 URL,那么谷歌日历将“订阅”——即在“其他日历”下创建一个新日历(不能“导入”更多事件)

如果附加到一封电子邮件,大多数应用程序将只期望一个事件,并会提示一个事件添加到一个人的默认日历中。

仔细检查您在测试中做了什么,请确保您为每个事件使用一个唯一的 UID,以确保应用程序重新测试就像它是一个新事件一样(或删除以前的事件)。有些人很聪明,会说“嘿,这是同一个事件”,这会使测试变得困惑。

关于php - iCal : Add event to calendar via webcal://,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55109527/

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