首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让caldav日历显示在Reminders.app中

如何让caldav日历显示在Reminders.app中
EN

Stack Overflow用户
提问于 2013-06-07 17:50:53
回答 2查看 1.5K关注 0票数 1

我们为我们的软件提供了一个可用的caldav实现,使我们的用户能够从iOS或Mac访问联系人和日程。

我现在最头疼的是待办事项日历没有显示在Reminders.app中。(当它还在iCal侧边栏时,它确实出现了。)需要说明的是:任务本身是可见的,但日历不在侧边栏中。

我在这里粘贴属性响应。有没有人能告诉我我漏掉了什么?

代码语言:javascript
复制
  <D:response>
    <D:href>/dav/fg/todos1/</D:href>
    <D:propstat>
      <D:prop>
        <I:calendar-color/>
        <I:calendar-order>700</I:calendar-order>
        <B:calendar-timezone>BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//intevo.websolutions//TEAMBOX//DE
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:Europe/Vienna
BEGIN:STANDARD
DTSTART:20111030T020000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CET
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20110327T030000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
END:DAYLIGHT
END:VTIMEZONE
END:VCALENDAR
</B:calendar-timezone>
        <D:current-user-privilege-set>
          <D:privilege>
            <D:read/>
          </D:privilege>
          <D:privilege>
            <D:read-acl/>
          </D:privilege>
          <D:privilege>
            <D:read-current-user-privilege-set/>
          </D:privilege>
        </D:current-user-privilege-set>
        <D:displayname>Aufgaben</D:displayname>
        <CS:getctag>"5109d85d95fece7816d9704e6e5b1279"</CS:getctag>
        <D:owner>
          <D:href>/dav/fg/</D:href>
        </D:owner>
        <D:resourcetype>
          <B:calendar/>
          <D:collection/>
        </D:resourcetype>
        <B:supported-calendar-component-set>
          <B:comp name="VTODO"/>
        </B:supported-calendar-component-set>
        <D:supported-report-set>
          <D:supported-report>
            <D:report>
              <B:calendar-query/>
            </D:report>
          </D:supported-report>
          <D:supported-report>
            <D:report>
              <B:calendar-multiget/>
            </D:report>
          </D:supported-report>
          <D:supported-report>
            <D:report>
              <D:principal-property-search/>
            </D:report>
          </D:supported-report>
          <D:supported-report>
            <D:report>
              <D:principal-search-property-set/>
            </D:report>
          </D:supported-report>
        </D:supported-report-set>
      </D:prop>
      <D:status>HTTP/1.1 200 OK</D:status>
    </D:propstat>
  </D:response>

完整的交换在这里http://pastebin.com/aKN4Yw8Q

EN

回答 2

Stack Overflow用户

发布于 2013-06-14 11:49:04

我注意到的唯一奇怪的事情是,对于todos响应,您没有针对缺少的属性(状态为404 )的propstat,而您有针对所有其他日历的propstat。

另一方面,客户端有一个简短的标头设置为t(参见https://datatracker.ietf.org/doc/html/draft-murchison-webdav-prefer ),所以这应该无关紧要...

希望到那时你已经找到了解决方案,但如果你感兴趣的话,苹果公司的人在Calconnect Interop活动上有很好的代表性:http://www.calconnect.org/calconnect28.shtml

票数 0
EN

Stack Overflow用户

发布于 2014-01-17 22:50:49

在OS X 10.8和10.9之间,客户端行为发生了变化。OS X 10.9中的版本对特权的解释更为严格,尽管它可能在最严格的意义上不符合标准。

我在我们的服务器上发现了一个类似的问题,似乎罪魁祸首是<current-user-privilege-set>标签中返回的权限。我不知道具体是哪种权限导致Reminders.app显示该文件夹,但返回以下权限似乎可以完成此工作:

代码语言:javascript
复制
<write-acl/>
<write-content/>
<write-properties/>
<read-current-user-privilege-set/>
<read/>
<write/>
<write-content/>
<write-properties/>
<bind/>
<unbind/>
<read-free-busy xmlns="urn:ietf:params:xml:ns:caldav"/>

您可能希望尝试添加单个权限,直到显示文件夹为止(或者添加所有权限,然后逐个删除)。请注意,Reminders.app对于刷新是惰性的,因此您可能需要删除并添加帐户才能使更改生效。

作为参考,以下是对我们的任务文件夹的完整响应:

代码语言:javascript
复制
  <response>
   <href>/webdav/test@emclient.com/T%C3%A2ches/</href>
   <propstat>
    <prop>
     <displayname>Tâches</displayname>
     <resourcetype>
      <collection/>
      <calendar xmlns="urn:ietf:params:xml:ns:caldav"/>
     </resourcetype>
     <supported-report-set>
      <supported-report>
       <report>
        <acl-principal-prop-set/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <principal-match/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <principal-property-search/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <principal-search-property-set/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <expand-property/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <calendar-query xmlns="urn:ietf:params:xml:ns:caldav"/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <calendar-multiget xmlns="urn:ietf:params:xml:ns:caldav"/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <free-busy-query xmlns="urn:ietf:params:xml:ns:caldav"/>
       </report>
      </supported-report>
      <supported-report>
       <report>
        <sync-collection/>
       </report>
      </supported-report>
     </supported-report-set>
     <owner>
      <href>/webdav/users/test@emclient.com/</href>
     </owner>
     <current-user-privilege-set>
      <privilege>
       <bind-item xmlns="http://icewarp.com/ns/"/>
      </privilege>
      <privilege>
       <write-acl/>
      </privilege>
      <privilege>
       <unbind-item xmlns="http://icewarp.com/ns/"/>
      </privilege>
      <privilege>
       <write-content/>
      </privilege>
      <privilege>
       <lookup xmlns="http://icewarp.com/ns/"/>
      </privilege>
      <privilege>
       <read-content xmlns="http://icewarp.com/ns/"/>
      </privilege>
      <privilege>
       <bind-collection xmlns="http://icewarp.com/ns/"/>
      </privilege>
      <privilege>
       <unbind-collection xmlns="http://icewarp.com/ns/"/>
      </privilege>
      <privilege>
       <write-properties/>
      </privilege>
      <privilege>
       <read-current-user-privilege-set/>
      </privilege>
      <privilege>
       <read/>
      </privilege>
      <privilege>
       <write/>
      </privilege>
      <privilege>
       <write-content/>
      </privilege>
      <privilege>
       <write-properties/>
      </privilege>
      <privilege>
       <bind/>
      </privilege>
      <privilege>
       <unbind/>
      </privilege>
      <privilege>
       <read-free-busy xmlns="urn:ietf:params:xml:ns:caldav"/>
      </privilege>
     </current-user-privilege-set>
     <supported-calendar-component-set xmlns="urn:ietf:params:xml:ns:caldav">
      <comp name="VTODO"/>
     </supported-calendar-component-set>
     <calendar-order xmlns="http://apple.com/ns/ical/">2</calendar-order>
     <getctag xmlns="http://calendarserver.org/ns/">&quot;1389952517:35&quot;</getctag>
     <sync-token>&quot;1389952517:35&quot;</sync-token>
    </prop>
    <status>HTTP/1.1 200 OK</status>
   </propstat>
  </response>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16981140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档