微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

caldav yahoo:报告忙忙查询导致 500 服务器错误

如何解决caldav yahoo:报告忙忙查询导致 500 服务器错误

我正在尝试从日历中获取忙闲时间,为此我正在使用“忙闲查询查询发出报告请求。在响应中,我收到 500 错误。我只是从文档中复制了代码,但没有返回任何结果。

客户请求

REPORT /dav/piyush138/Calendar/piyushkumar/ HTTP/1.1
Authorization: Basic XXXXXXXXXXXXXXX=
Host: caldav.calendar.yahoo.com:443
Depth: 1
Content-type: application/xml; charset="utf-8"
Content-Length: 216
User-Agent: DAViCalClient
Connection: close

<?xml version="1.0" encoding="utf-8" ?>
   <C:free-busy-query xmlns:C="urn:ietf:params:xml:ns:caldav">
     <C:time-range start="20210222T000000Z"  end="20210222T240000Z"/>
   </C:free-busy-query>

服务器响应

HTTP/1.1 500 Server Error
WSHost: tardis013.cal.bf1.yahoo.com
Set-Cookie: rememberMe=deleteMe; Path=/; Max-Age=0; Expires=Sun,21-Feb-2021 09:07:36 GMT
Content-Length: 0
Age: 2
Date: Mon,22 Feb 2021 09:07:36 GMT
Server: ATS
Referrer-Policy: no-referrer-when-downgrade
Connection: close
Strict-Transport-Security: max-age=15552000
Expect-CT: max-age=31536000,report-uri="http://csp.yahoo.com/beacon/csp?src=yahoocom-expect-ct-report-only"
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff

解决方法

(这不是一个正确的答案 - 但如果我们能找到这个问题的正确答案,我最终会编辑它。我什至不知道雅虎有 CalDAV 支持,所以我显然不是最好的答案这个,但我可以提出一些建议)。

只有在服务器端出现错误时才应该给出 500 错误,从这个角度来看,雅虎可能应该在他们这边修复一些问题。无论如何,通常是因为服务器无法解析来自客户端的意外输入,或者只是没有实现该功能。

请尝试将 T2400 更改为 T2359,或者将日期推到 T0000。这是一个长镜头,我怀疑它会改变什么,但值得一试。

如果我正确理解 RFC4791,则必须支持 freebusy-requests,但实际上并不总是支持。我的猜测是雅虎并没有费心去实现对它的支持。

RFC6638 指定了一种不同的方式来发送空闲忙请求,也许雅虎支持。有关如何发送此类空闲忙请求的示例,请参见第 B.5 节 - https://tools.ietf.org/html/rfc6638#appendix-B.5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?