同步多个iCalendars(Airbnb,Flipkey,Google日历等)


Sync multiple iCalendars (Airbnb, Flipkey, Google Calendar, etc)

我正在开发一个公寓租赁网站。我正在使用我调整的 wordpress 酒店主题,因此它使用"公寓"和预订插件代替"房间"。这些公寓中的每一个也在Airbnb和FlipKey上做广告。

我需要的是能够同步所有日历,因此,例如,如果有人在Airbnb预订公寓,则该公寓会在网站和 Flipkey 中自动标记为"不可用"。这是使用两家公司提供的提要.ics完成的。两者都有一个输出提要和一个输入提要,所以如果我将输出粘贴到另一个的输入中,反之亦然,事情就会完美运行。

现在,我需要的是一种将两个日历集中在一个系统中的方法,并使用该系统来提供Airbnb,Flipkey和我自己的wordpress预订插件的输入。我试过:

PHP iCalendar(它可以像谷歌日历一样获取提要,但据我所知,它不提供统一的输出(。服务作为 http://www.accommodationcalendar.com 只获取输入,但也不获取输出。

也许 http://www.davical.org/可能是一个不错的选择,但由于我使用的是共享主机,因此我无法安装它(据我所知( - 原因是共享主机只有MySql而不是PostgreSQL。

有没有人知道如何解决这个问题?

谢谢!

经过一番研究,我找到了这个解决方案:

1( 使用此库:http://kigkonsult.se/iCalcreator/

2( 获取 ICS 源并合并它们,然后创建一个新的 ICS(创建"导入"和"导出"文件夹并授予它们写入权限(。

require_once('../classes/iCalcreator/iCalcreator.class.php');
$config2 = array("unique_id" => "kigkonsult2.se",
     "directory" => "import",
);
$vcalendar2 = new vcalendar($config2);
$vcalendar2->setConfig("url" , "https://someweb/cal.ics");
$vcalendar2->parse();
$vcalendar2->setConfig("url" , "https://anotherurl/cal2.ics");
$vcalendar2->parse();
$vcalendar2->setConfig("directory", "export");
$vcalendar2->setConfig("filename", "icalmerge3.ics");
$vcalendar2->saveCalendar();

echo "done";

3( 创建一个 CRON 调度程序以定期运行此文件。将 Airbnb 和翻转键指向创建源的网址。您可以根据需要使用任意数量的输入 ICS 文件。