问题标签 [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.

0 投票
2 回答
543 浏览

php - Sabre Travel REST 服务

查看了他们的文档,似乎在 PHP 中,我们无法通过 REST 服务完成所有请求。

例如:

我可以通过 REST 获取航班(Instaflights Search)

但是当我想预订东西时,我需要跳入 SOAP (Book Air Segment)

我宁愿在 REST 中做所有事情,而不是 SOAP 或一半一半。

这是创建预订引擎的正确方法吗?或者我错过了什么?

0 投票
1 回答
1159 浏览

windows - 为什么默认的 Windows WebDAV 客户端会忽略 403 Forbidden 响应?

我正在为我的项目使用 sabre/dav 库,并且在阻止默认 Windows WebDAV 客户端“删除”不应删除的文件时遇到了一些困难。服务器部分的实现是好的,其他客户端(Finder,Cyber​​Duck)显然会抛出并确认禁止状态,这些客户端会中止删除过程,并向用户显示禁止错误。Windows 客户端会返回相同的状态,但它似乎只是“删除”了在服务器端仍然可用的文件。通过刷新文件夹,这些文件再次可见。Win客户端似乎只是忽略了禁止的响应并实际上删除了文件夹,因此它不再可见。

更大的问题是,如果出于某种原因您决定删除一个文件夹,其中有受保护和未受保护的文件/文件夹,它会删除所有未受保护的文件/文件夹,因为它无法确认第一个(或任何)禁止响应。其他 WebDAV 客户端会检测到这一点并停止删除过程,因此指定的文件夹及其子文件夹/文件不会受到影响。

尝试删除文件夹或文件时的禁止响应示例:

在 Win8.1 x86 上测试默认 Win 客户端。

知道如何强制 Win WebDav 客户端检测禁止响应并终止删除过程吗?

谢谢。

0 投票
1 回答
2520 浏览

mysql - SabreDav 身份验证失败

我开始在本地环境中使用 SabreDav 创建自己的测试服务器,一切正常。

现在,我正在尝试将我的配置迁移到我的生产 Web 服务器,并且我在使用此处描述的 PDO 身份验证时遇到了各种问题。

我成功地创建了我的数据库,并且在没有身份验证的情况下,我能够导航主要节点(这意味着我的数据库连接工作正常)。

添加服务器 pdo 身份验证插件时,它一直要求输入登录名/密码,尽管我使用了默认值,好像登录名/密码错误。

我测试了许多场景,但无法弄清楚为什么它一直阻止我登录 - 因为我很确定登录/密码是正确的!

测试场景:查看myServer/server.php/principals/admin/中的节点(admin 是在此处找到的 mysql 脚本中创建的默认用户)。

尝试 0:成功在我的 server.php 中禁用身份验证

尝试 1:FAIL在我的 server.php 中使用默认配置失败并不断提示输入密码

尝试 2: FAIL强制 server.php 中的默认领域不断提示输入密码

尝试 3:在 server.php 中强制使用默认领域的 FAIL 替代方法不断提示输入密码

尝试 4:失败保持相同的领域“SabreDAV”并生成不同的摘要(实际上,我确保使用与在本地工作的本地服务器完全相同的登录名/密码,但不是在网络生产服务器上......)

重要提示:我的生产 mysql 数据库似乎存储了加密数据 - 如果这是问题的根源,有没有办法解决这个问题?

登录窗口显示“ https://mywebsite.com正在请求用户名和密码。该网站说:“SabreDAV”。

然后当点击转义时,这里是错误页面:

我确实在我的服务器配置中设置了一个摘要,因为我使用教程中描述的标准方式:

0 投票
0 回答
324 浏览

php - 如何在 CakePHP 3.0 中实现 SabreDav/CalDav?

我正在尝试在 CakePHP 3.0 中实现 CalDav,而且我对它们都是新手。我创建了一个客户门户,并希望每个用户都可以访问他的约会。

我按照教程http://sabre.io/dav/caldav/进行操作,但是当我尝试运行 mypage/calendarserver.php/ (我位于 webroot 中)时,它只显示我自己创建的登录页面(它应该显示来自 sabredav 的登录信息)。

真正的问题是:当我尝试创建例如:“mypage/calendarserver.php/principals”时,Cake 告诉我principals 控制器丢失。当我访问这个 url 时,我不想使用 Cake 的任何控制器。有人知道如何避免调用 Cake 的控制器吗?

谢谢你的帮助。

0 投票
1 回答
284 浏览

php - SabreDAV - 为什么日历事件在 PDO 后端存储为 BLOB?

我目前正在试验 SabreDAV,一个用于 PHP 的 WebDAV/CalDAV/CardDAV 服务器。

作为下载的一部分,有一个 PDO 后端将日历事件存储在 MySQL 等数据库中。

我注意到 SabreDAV 使用 BLOB 字段将事件的 iCal 数据存储在 1 个字段中,而不是在行中正确规范化的字段中。

如您所见,有 1 个大字段“日历数据”,其中包含 iCal 格式的所有内容。

从我对 Milton(SabreDAV 的 Java 对应物)的简要探索来看,那里的情况似乎也是如此,所以它不仅存在于 SabreDAV 中。但是,我可能弄错了。

将 iCal 数据存储在 BLOB 中而不是存储解析的数据是否存在特定的架构原因?iCal 数据可能非常复杂,无法完全标准化?或者,您认为开发人员选择这个是为了节省时间吗?

我希望将数据存储在列和行中,这样我就可以轻松地在网站上生成带有日历事件的表……但现在我需要解析所有数据,我不能使用 SQL……或者我'd 需要使用完整的 CalDAV 客户端......但这是一个矫枉过正。

我已经发现的一个特殊问题是重复事件是数据库中的 1 条记录,而不是多条记录。现在确定个别事件将非常困难。

0 投票
1 回答
1146 浏览

webdav - 允许具有深度的 PROPFIND:Sabre/Dav 中的无限请求

许多WebDAV 服务器在发送标头时不允许PROPFIND请求Depth: Infinity(另请参阅此 SO 问题),这将递归地从指定文件夹和所有子文件夹返回整个底层文件系统的描述。相反,它们仅允许Depth: 0Depth: 1出于安全原因仅返回目录树的指定级别。

尽管存在安全问题,是否可以在SabreDAV中打开此功能?我从旧版本的软件(搜索)中发现了这个 GitHub 问题以及这个变更日志infinity,它们都表明这已经在一段时间前实现了。

但是,我找不到任何提示如何或在何处激活它。有人知道吗?

0 投票
2 回答
239 浏览

ruby - ruby 调用 Sabre Dev Studio API

我正在尝试从我的应用程序中的 sabre dev studio 获取酒店详细信息并且我正在使用gem 'sabre_dev_studio',但我不明白我必须如何以及必须点击哪个 URL(API)来获取酒店详细信息。我正在使用这样的:

这是有效的,并给了我适当的回应,但对于酒店,我没有得到哪个 url 是用于 apies 的。

0 投票
0 回答
687 浏览

laravel-5 - 在 laravel 上安装 sabredav 服务器

有没有人尝试在 laravel 中设置一个 sabredav caldav 服务器?Sabredav 需要在“calendarserver.php/”<--尾部斜杠处访问日历服务器

Sabredav 需要一个由 laravel 修剪的斜杠。我试图改变 htaccess 文件:

但似乎,我还需要配置一条路线,这将再次修剪斜线。基本上,我只是希望每个人都能够访问 /calendarserver.php/ 路径而不会受到 laravel 的干扰。有什么干净的方法可以做到这一点吗?

任何帮助将不胜感激!

谢谢。

0 投票
1 回答
5678 浏览

.net - Sabre 网络服务中出现错误 FRMT.NOT ENT BGNG WITH

我试过这个错误。我在调用 Api 时得到:TravelItineraryAddInfo

向 sabre 请求数据: 数据发送到 sabre 网络服务

Sabre回复数据:

请帮助我提前谢谢

0 投票
0 回答
538 浏览

synchronization - Baikal 0.4.5:与 Thunderbird + Lightning + SOGo 连接器同步

要将 Baikal 从 0.2.7 升级到 0.4.5,我按照http://sabre.io/baikal/upgrade上的步骤操作。升级成功。在过程结束时,我更改了同步的端点。在所有设备(PC + Thunderbird 45.0 + Lightning 4.7 + SOGo 连接器 31.0.3、iphone 5s (9.3.2))上同步日历工作正常,但同步联系人是个问题:

在开始升级之前,我在 Thunderbird 中制作了我的 baikal-remote-address book 的额外本地副本,并删除了 baikal 服务器上的所有联系人。升级后,我将本地联系人复制(并移动)到 Thunderbird 中升级后的 baikal-remote-address book。只有少数,但不是所有的联系人都是同步的。我已经在我的 iphone 和 baikal-dashboard 上检查了这一点,您可以在其中查看通讯录中的联系人数量。在 Thunderbird 中,所有联系人都是可取的。

好奇心如下:

  • 如果我在 Thunderbird 中创建一个新联系人,这个联系人将立即同步。

  • 如果我在 Thunderbird 中编辑一个非同步联系人并保存更改,这个联系人也将立即同步。

  • 另一个方向也很好用:在我的 iphone 上创建一个新联系人会同步 Thunderbird 的视图。将来编辑此联系人在各个方向上都可以正常工作。

我尝试将本地联系人复制(和移动)到 Thunderbird 中新安装的 baikal-remote-adress 簿。结果是一样的,只是同步了几个联系人。那么,出了什么问题?