用于在 iCal 中显示忙/闲时间的 API(Apple 人?

API for showing free/busy time in iCal (Apple people?)

提问人:Nava Carmon 提问时间:10/29/2009 最后编辑:Chris MartinNava Carmon 更新时间:11/4/2014 访问量:2121

问:

在 Snow Leopard 中,可以在 iCal 事件中显示忙/闲时间。我已经搜索了CalStore.framework的标题,但找不到描述此字段的任何属性。如何检索日历事件的忙/闲属性?

OSX-Snow-Leopard icalendar 日历商店

评论


答:

0赞 Mike Abdullah 11/1/2009 #1

可以肯定的是,日历商店中没有用于此的公共 API。您必须提交一个错误请求它。选择:

  • 查看 iCal 是否支持该属性
  • 使用有权访问完整 iCal 架构的 Sync Services

评论

0赞 Nava Carmon 11/1/2009
谢谢@Mike回答这个问题。iCal 的 AppleScript 词典未提及此属性。iCal Schema 上的文档也与它无关:developer.apple.com/mac/library/documentation/AppleApplications/...难道苹果还是没有更新文档吗?
1赞 Nava Carmon 11/1/2009
我提交了关于缺少 API 的雷达。
0赞 christo16 1/20/2011
没有公开的 cocoa API,但 CalDAV 是一个开放标准。您可以自行查询服务器。看我的答案...
0赞 Mike Abdullah 1/20/2011
麻烦的是 iCal 也支持本地日历的忙/闲标志,因此使用 CalDAV 只能让您实现一半。
0赞 Jason Tholstrup 11/3/2009 #2

作为黑客,您可以为事件请求 CalDav 文件并解析它吗?

评论

0赞 Nava Carmon 11/3/2009
听起来很有趣。我该怎么做?你能举个例子吗?谢谢
0赞 Mike Abdullah 11/3/2009
我相信您可以通过让应用程序从 AppleScript 导出来生成一个。不过会非常丑陋/凌乱。
0赞 Jason Tholstrup 11/3/2009
就像我说的,这将是一个黑客(并且可能很慢,这取决于你在做什么)。我只知道它是一种记录在案的格式,并且是做您想要的工作的一种方法,因为从其他答案中可以看出 API 并不容易获得。对不起,没有例子,我只是在这一点上抛出想法。
0赞 Nava Carmon 11/4/2009
好吧,正如我之前所写的,我提交了雷达#7358129。希望它将在下一个版本之一中得到修复。谢谢
0赞 Mike Abdullah 11/9/2009
提交副本:rdar://7376695
1赞 christo16 2/5/2010 #3

iCal 服务器具有检索忙/闲信息的方法,请参阅:http://www.webdav.org/specs/rfc4791.html#rfc.section.7.8.4

然而,这并非微不足道,您基本上必须编写自己的 API。使用 NSURLRequest 和 NSURLConnection 发出服务器查询。

1赞 Marc Herman 5/3/2011 #4

当我导出 iCal 4 日历时,我注意到“忙碌”被编码为“TRANSP:OPAQUE”,而“空闲”被编码为“TRANSP:TRANSPARENT”。 我无法在 iCal 的 Applescript 词典中找到等效的东西。