【问题标题】:Forbidden error : While fetching events from iCloud using caldav extension禁止错误:使用 caldav 扩展从 iCloud 获取事件时
【发布时间】:2018-04-14 17:02:56
【问题描述】:
URL -: https://pxx-caldav.icloud.com/token/calendars/calendarId

@"<C:calendar-query xmlns:D='DAV:'
                 xmlns:C='urn:ietf:params:xml:ns:caldav'>
                                     <D:prop>
                                       <D:getetag/>
                                <C:calendar-timezone xmlns:D='DAV:' xmlns:C='urn:ietf:params:xml:ns:caldav'></C:calendar-timezone>
                                       <C:calendar-data>
                                        <C:expand start='{0}'
                                                end='{1}'/>
                                         <C:comp name='VCALENDAR'>
                                           <C:prop name='VERSION'/>
                                           <C:comp name='VEVENT'>
                                             <C:prop name='SUMMARY'/>
                                             <C:prop name='DESCRIPTION'/>
                                             <C:prop name='STATUS'/>
                                              <C:prop name='TRANSP'/>
                                               <C:prop name='ATTENDEE'/>
                                             <C:prop name='UID'/>
                                             <C:prop name='DTSTART'/>
                                             <C:prop name='DTEND'/>
                                             <C:prop name='DURATION'/>
                                             <C:prop name='RRULE'/>
                                             <C:prop name='RDATE'/>
                                             <C:prop name='EXRULE'/>
                                             <C:prop name='EXDATE'/>
                                             <C:prop name='RECURRENCE-ID'/>
                                           </C:comp>
                                         </C:comp>
                                       </C:calendar-data>
                                     </D:prop>
                                     <C:filter>
       <C:comp-filter name='VCALENDAR'>
         <C:comp-filter name='VEVENT'>
           <C:time-range start='{0}'
                         end='{1}'/>
         </C:comp-filter>
       </C:comp-filter>
     </C:filter>
                                   </C:calendar-query>"

在检索事件时,它会在某些帐户的某些特定日历上出现禁止错误。在检索日历时,它会显示读/写访问权限,但在获取事件时会出错。它在少数日历上给出错误,但错误在它们上是连续的。 我收到以下错误 -:

 <error> <supported-report /> </error>

【问题讨论】:

    标签: icloud caldav


    【解决方案1】:

    日历是 DAV:resourcetype 为 C:calendar 的 WebDAV 集合(请参阅 https://www.rfc-editor.org/rfc/rfc4791#section-4.2 ),但还有其他类型的集合(日历主页、计划收件箱、保管箱等)。

    最有可能发生的情况是您正在针对不是日历集合的集合发出日历查询,因此出现支持报告错误。

    您需要检索每个集合的 DAV:resourcetype 属性,并且仅当它是日历时,才发出上述报告。

    【讨论】:

    • 谢谢,但我只发布日历查询。在某些日历上还有一件事它可以重试,但在某些日历上它永远不会工作。
    • 显示您定位的日历的列表属性(propfind:1 在日历上的结果)。您是否针对非 Caldav 日历但订阅了日历?
    • 订阅日历是指共享日历吗?什么是非caldav日历?
    • 为了获取用户的日历,我使用 -: "calendarserver.org/ns/… />" 我无法在评论中分享响应 XML,因为它太长了。你能分享你的电子邮件ID吗?
    • 谢谢。我只想通知该问题已自动修复。我没有对我的代码进行任何更改,但服务器现在没有给出任何错误。服务器是自发地给出这个连续的错误吗?服务器给出任何错误的原因是什么? icloud 的 caldav 服务器的点击次数是否有限制。不知道我以后什么时候会再次面对这个问题。有时服务器会给出未经授权的错误,但有时它会在重试时起作用,有时则不会。有没有可能无故报错?
    猜你喜欢
    • 2018-06-30
    • 1970-01-01
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多