问题标签 [sabredav]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用 curl (php) 的 Google CALDAV XML 请求
我正在尝试使用 PHP 向 google caldav 服务器发出 CalDAV XML 请求。
出于某种原因,google calDAV 的文档记录非常差。
目的是获取所有事件的列表,包括特定于事件的数据。(例如,开始、结束、总结……)。目标是尽可能高效地执行此操作。(一个请求中的所有事件数据)。
我发现这可以通过 REPORT 请求来完成。
我正在使用这篇文章中的代码。
我的确切代码:
xml 请求是从SabreDAV wiki复制粘贴的。
谷歌在此代码上返回的是“未知错误”。我知道来自谷歌的凭据正在工作,因为我使用 SabreDAV 的内置请求(例如 propfind)成功尝试了一些请求。但是 SabreDAV 无法生成报告请求。
所以我认为 xml 请求中一定有一些东西是 google caldav 无法正确处理的。
这几天我一直在摆弄这个,但我似乎无法找到一个合适的解决方案。
php - 如何使用 ITHit AjaxFileBrowser 上传到 SabreDAV?
使用 ITHit 的两个版本的 AjaxFileBrowser(最新的 2_6_2_2135 和去年购买的另一个),我正在尝试连接到 SabreDAV(两个不同的版本:1.8.12 和 2.1.2)但无法上传任何文件。查看文件和目录工作正常,我可以使用内置的 SabreDAV 客户端上传文件。此外,我可以使用 Postman 将文件放入 SabreDAV 服务器端点。
上传文件时出现 404 错误似乎正在停止该过程。但我认为客户端会在上传时处理 404 错误(因为文件不存在)。我应该注意,上传已经存在的文件是可行的,并且文件已更新。
我已经就另一个问题写了支持电子邮件,并被要求在此处写信。有接盘侠吗?谢谢...
php - 如何使用 owncloud 更深入地调试 Apache 500 内部服务器错误
对于每个 PUT 或 DELETE 请求 WebDAV (sabre/dav),我的 owncloud 安装都有内部服务器错误。请参阅我的 access.log 摘录:
同时我可以在 Apaches error.log 中找到这个:
同时 owncloud.log 有一些更多的细节:
根据 owncloud.log 看起来这是一个“拒绝访问”问题(至少对于取消链接消息),但是,相关的 Apache 用户具有完全权限,我使用 Sysinternals Process-Monitor 监控进度,它没有Access Denied 错误,只是 Success,但未找到。看截图:
http://bilder.ath.cx/temp/Process-Monitor.png
为了确保这不是权限问题,我还尝试将 Apache 作为本地管理员运行,这具有相同的效果。
我的设置是:带有 Owncloud 8.0.0.7、Apache 2.4.12 和 PHP 5.6.5 的 Windows 2k8 R2
我真的迷失了如何解决这个问题,有没有人提示我接下来可以尝试什么?
非常感谢您的帮助。
液相色谱
sabre - Abacus 航班预订 api,在创建 PNR 后,可以通过 EnhancedAirBook api 在预订中附加航段
我想问一下 abacus 航班预订 api,在创建 PNR 后,可以通过 EnhancedAirBook api b/c 在预订中附加段,我在 api 中看到我们可以传递 PNR 号。我使用它但不再工作了,我使用的是enhancedairbook 2.0 版本。如果有人尝试过,请分享请求和响应。
apache - 是否可以在 Windows 上将 webdav 共享挂载为 FAT 以外的其他内容?
我有一个在 Linux 上运行的 apache 服务器。我启用了 dav 模块。当我在我的 Windows 计算机上时,我将它安装为网络驱动器。但是,它将文件系统显示为 FAT。有没有办法将其更改为 NTFS 或其他可以正确显示磁盘大小并加快文件传输的方法?
filter - 如何使用任意过滤器公开 CardDAV 通讯录/CalDAV 日历?
我想提供对可能应用了搜索过滤器(例如标签、用户、组)的地址簿和日历的访问。
它们不应该是自动发现的,因为可能有数十亿种组合,但必须与常见的客户端(例如 iOS / OS X、Windows Phone)兼容,即应该可以将带有过滤器的 URL 添加到客户端。
一个问题似乎是某些客户端依赖于发现功能而不是您提供给它们的 URL,例如 iOS(您尝试通过确切的 URL 添加一个地址簿,它会添加所有可发现的地址簿)。
另一件事是构建可选过滤器。
那么使用路径呢?
什么被认为是这里的最佳实践?
sabre - Sabre API 响应未获得最短/最长停留时间和提前购买字段
我需要根据 GDS 系统的结果,但不是可用性。例如,当我们使用此命令 ( FQOSLACC15MAY-LH ) 在 GDS 上查看票价时。我们获得所有票价,没有可用性限制。我们还提供课程、票价基础、价格、提前购买、最短和最长停留时间。我们在我的 Web API 响应中需要此字段。请建议我服务操作代码类型。
pcre - 使 Sabredav 2.1.3 与 PCRE 7.8 一起工作的插件
我安装了自己的云,但由于 sabredav 2.1.3,它需要比 PCRE 7.8 更高的版本
有谁知道我可以安装一个插件来使 sabredav 向后兼容?不幸的是,我的主人不允许我更新它。尝试谷歌搜索,但我找不到任何东西。
httpwebrequest - CalDav 同步令牌到期
在上一个问题中,我询问了与 DaviCal 服务器同步数据的问题。我最终得出的结论是 DaviCal 存在一个错误,因为当使用无效的同步令牌查询 CalDav 服务器时,服务器应该返回一个错误,但相反,它会返回服务器上的整个事件集。
所以我开始寻找替代的 CalDav 服务器。我使用 SabreDav。我在这里遵循了他们非常方便的教程。
上面写着:
注意事项
请注意,服务器可以自由地“忘记”之前发布的任何同步令牌。在这种情况下,可能需要再次进行完全同步。
如果服务器无法识别提供的同步令牌,则会发出 HTTP 错误。SabreDAV 发出 403。
这看起来很有希望:正是我需要的!
所以我要做的是获取我的同步令牌,即http://sabre.io/ns/sync/15
.
然后我按如下方式提交我的REPORT
查询(也许这就是我做错的地方?!)
因此,当我使用刚刚获得的有效同步令牌发送请求时http://sabre.io/ns/sync/15
,我得到一个空响应:
到目前为止,一切都很好。
如果我使用我知道在某些时候有效的先前同步令牌(http://sabre.io/ns/sync/14
在这种情况下 - 碰巧它是以前的数字......)我会按预期得到更改:
但问题是,如果我使用我绝对知道从未发布过的 RANDOM 同步令牌:http://sabre.io/ns/sync/1234312231344324
我得到与使用最新(当前)令牌时相同的答案:
SabreDav 说它应该抛出错误 403,但很明显,这不是我在这里得到的……但是,如果我使用无效的同步令牌格式,比如说token1234
,我确实收到错误 403……
所以问题是:如何确保我的同步令牌仍然有效?所以,如果令牌有效并且没有返回任何内容,我知道我的本地缓存是最新的,或者,如果同步令牌无效,我需要进行完全同步!
api - 从 CalDav API 创建一个新日历
我正在尝试使用 SabreDav 在我的委托人的主文件夹中创建一个新日历。
我找不到如何实现这一点-甚至可能吗?
更新:我发现了 MKCALENDAR 方法,但以下返回“已放弃”请求错误:
发送HttpWebRequest
失败并取消请求消息...
提前致谢!
更新2:更多细节:
我得到的错误信息是
请求被中止:请求被取消
在服务器端,这里是访问日志:
192.168.1.200 - - [06/Jul/2015:09:51:48 +0200]“MKCALENDAR /calendarserver.php/calendars/admin/my_new_calendar/HTTP/1.1”400 25“-”“-”
错误日志是空的......所以似乎我得到了一个“错误请求”响应,在准备请求时没有被捕获?!
更新 3:正文包含特殊字符“éàê...”,这就是 contentlength 部分错误的原因!