我们为客户提供使用webcal://链接在其设备上订阅iCalendar/VCalendar供稿的功能
我们有一个很好的简单按钮,说"订阅这个日历",他们点击它,他们的日历应用程序吸收数据 - 瞧.
这在大多数设备上运行良好,但我们发现它在Android设备上失败了.
在默认的Android浏览器上,它提供了"网页不可用"错误,这对我们的用户没有帮助.
在Android上的Chrome上,当他们点击按钮时它没有做任何事情,它只是坐在那里,如果我将webcal://链接粘贴到Chrome的地址栏,它会在谷歌中查找而不是加载cal源.
如果我使用http://它将在网页中显示提要内容,但不会触发日历订阅它,这对我们不那么精明的用户来说不是很有用.
所以我的问题是:Android是否支持日历Feed类型,无需用户从Web应用程序手动复制链接代码,然后打开他们的日历应用程序,然后单击添加订阅然后粘贴链接?
在这一点上,我最好的选择是检测浏览器类型,如果它是Android弹出一个窗口,其中包含用户要复制的链接代码,并给他们指示去找他们的cal中的订阅链接并粘贴在链接中.我知道这会导致来自技术较少的用户的大量支持电话,所以我宁愿不:)
谢谢!
我在PHP中有一个应用程序,每个用户都有自己的相关事件.
我想做的是以类似于facebook上的事件的方式公开他的事件,这些事件以格式提供网址webcal://www.facebook.com/ical/b.php?uid=123456789&key=ASD123ASD123ASD,每当有新事件时,它会自动传播到我添加到谷歌日历中的日历.
我想要做的是在一个网址上公开这个日历http://whatever.org/someLongUniquePerUserIdentifier.ics.
我尝试使用同一网址的简单文件模拟事件生成脚本.这是一个由谷歌消费的ics文件,事件已被添加,但当我更改文件内容(删除一个事件)=更改资源,应该订阅谷歌日历,更改根本没有通过到gcal.
由于我无法找到任何可靠的文档来源,我尝试使用不同的关键字进行谷歌搜索,我只被引导到像DAVical,sabredav等webdav服务器.
我已经在我的服务器上安装了DAVical,只是为了进入我已正确安装服务器的状态,但不知道如何在我想要的URL上公开我的MySQL数据库中的事件,这是客户订阅的.
与sabredav相同,除了事实,我没有尝试让它工作,因为我看不到任何记录的方式使用任何dav服务器将我的事件发送到世界.
我基本上被困在一个我在PHP中工作ics导出的地方,没有被日历客户端请求更新,以及一个正在运行的CalDAV服务器,可能会被客户端要求更新,但没有数据要返回.
有什么想法吗?
编辑问题:
实现即时单向日历同步的正确方法是什么?
当Outlook 2007和2010订阅互联网日历时(通过webcal://指向iCalendar或vCalendar文件的链接),他们多久会自动更新一次?有没有办法在下载的文件或Outlook首选项中配置它?我知道文件可以指定最小刷新间隔(通过X-PUBLISHED-TTL字段),但我没有看到明确指定建议间隔的方法.
您可以通过直接链接将Google托管的日历添加到您的Google日历帐户(例如,在澳大利亚的假期 - 左下角的按钮 - 如果您点击它,则日历将添加到您的帐户中).
我的网站上有一个网络日历,我想在示例中添加一个指向我日历的按钮.
我怎样才能做到这一点?
我正准备发布iCal订阅功能,我想根据浏览器支持将协议设置为https://或webcal://.我知道webcal是一个非官方的协议,但有没有办法可以检查浏览器是否支持它?到目前为止似乎没有任何东西可以在IE8中运行,我即将测试IE9 +,但我更愿意为所有不理解的浏览器提供优雅降级webcal://(据我所知,Android浏览器似乎也有问题).
据我了解,CalDAV是WebDAV的扩展,用于管理iCalendar订阅.
Webcal是一个URL方案,它做同样的事情,但没有标准化.
我就在这儿吗?无论哪种方式的优点/缺点是什么?
如果您为Exchange服务器配置,Windows 10邮件应用程序也会显示您的日历.不知道是否可以添加订阅日历 - 即使用链接发送的共享日历webcal://...?我确定在"新帐户"选项中或通过互联网搜索找不到任何明显的内容
我有一个已发布的.ics文件,我的用户可以通过网址添加到他们的Google日历中.麻烦的是谷歌似乎在缓存饲料,新事件没有出现.我提出的唯一解决方案是手动删除日历并通过添加?nocache=asdfasdfsdf到最后添加稍微不同的URL .是否有ics规范可以解决这个问题而不需要用户干预?
我知道可以生成 ICS 文件并提示用户通过 JavaScript 下载它:
https://github.com/nwcell/ics.js
并且可以设置一个指向互联网上托管的 ICS 文件的 Webcal URL,例如:
webcal://ical.mac.com/ical/US32Holidays.ics
但是,是否可以在没有服务器端干预的情况下为用户提供使用动态生成的 ICS 的 Webcal URL?我想在我的前端 JavaScript 应用程序中生成动态日历事件,并且最好在该过程中不涉及后端。
如果我下载生成的 ICS 文件并将其作为文件导入 Outlook(本质上只是创建快照),则我设置的 VALARM 可以正常工作。
我想要的是一个与服务器同步的 ical feed。因此,当我使用 ICS 文件 URL 创建 Internet 日历(添加/打开日历 -> 从 Internet)时,所有事件均已正确创建并同步工作,但 VALARM 被忽略且未设置
BEGIN:VCALENDAR
VERSION:2.0
PRODID:Appointment Calendar
METHOD:PUBLISH
SOURCE:ICAL-URL
X-WR-CALNAME:Appointments
X-WR-CALDESC:Calendar
BEGIN:VEVENT
UID:84fbfa16-ab3a-4313-b98b-638da09a8a1c
DTSTAMP:20190107T190135Z
SUMMARY:My Event
DTSTART:20190109T183000Z
DTEND:20190109T184500Z
CATEGORIES:Red Category
BEGIN:VALARM
ACTION:DISPLAY
TRIGGER:-PT15M
DESCRIPTION:Alert
END:VALARM
END:VEVENT
END:VCALENDAR
Run Code Online (Sandbox Code Playgroud)
我是否做错了什么,或者 Outlook 中的互联网日历不支持 VALARM?当我在带有 Lightning 插件的 Thunderbird 中执行此操作时,效果非常好。所以我假设我缺少一些 MS 特定格式?
我使用 Outlook 2016 进行测试。我读到有些人成功登录 Office365 并从仪表板导入日历,但这对我来说也不起作用。我尝试使用http://和来格式化我的网址webcal://
我想在我们的 Web 应用程序中发布日历,以便客户可以使用他们最喜欢的软件(Google 日历、Outlook.com 等)订阅它。
\n我从数据库中提取数据并使用 sabre/dav 的 VObject 类创建一个 ics 文件,然后通过 url 提供它:
\n\n\nwebcal://www.server.com/calendar.php?username=john.doe&cal_id=efccd95ee22917d327e31840fbc1a97936a4
\n
这适用于 Google Calendar 和 Thunderbird,但不适用于 Outlook.com,后者显然尝试执行一些涉及 Oauth 2 的“现代身份验证”(是的,这就是它的名称)。没有错误,但也没有事件。我假设这就是阻止它工作的原因:
\n\n\nhttps://support.microsoft.com/en-gb/help/4025591/you-can-t-add-an-internet-calendar-in-outlook
\n
据我所知,这不是同步间隔问题,因为:
\n有人提出了类似的问题,但没有给出答案:
\n\n\n\n
我捕获了 Outlook 发送到我的服务器的 HTTP 请求标头,除了用户代理“Exchange”之外,它是一个标准请求,没有额外的标头。
\nMicrosoft 似乎没有准确记录 Outlook 365 的预期。
\n有一种解决方法说订阅时使用 OWA (Outlook Web Access),我认为这只适用于企业客户。
\n以下是我的服务器的响应。
\n卷曲输出:
\n< HTTP/1.1 200 …Run Code Online (Sandbox Code Playgroud) 我的应用程序在运行时生成一个复杂的日历,因此任何用户都有特定日期/时间的任务,并且每个任务都有描述和一些属性。
我被要求将此日历“发布”为 webCal。我对webcal一无所知,无论如何我想知道你们中是否有人已经尝试过并可以写下他的评论或建议。
其中一个问题是“如何识别用户”?由于我有一个多用户日历,如何为每个用户发布单独的日历?
我想到一种连续运行的Delphi服务应用程序,发布日历。
webcal ×13
icalendar ×8
calendar ×3
outlook ×3
javascript ×2
webdav ×2
android ×1
caldav ×1
delphi ×1
delphi-xe2 ×1
java ×1
mysql ×1
office365 ×1
outlook.com ×1
php ×1
windows-10 ×1