【问题标题】:Sync multiple iCalendars (Airbnb, Flipkey, Google Calendar, etc)同步多个 iCalendars(Airbnb、Flipkey、Google 日历等)
【发布时间】:2015-01-30 03:03:10
【问题描述】:

我正在开发一个出租公寓的网站。我正在使用我调整过的 wordpress 酒店主题,而不是“房间”,它使用“公寓”和预订插件。这些公寓中的每一个也在 Airbnb 和 FlipKey 上做广告。

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

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

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

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

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

谢谢!

【问题讨论】:

    标签: php wordpress calendar sync icalendar


    【解决方案1】:

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

    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 和 Flipkey 都指向创建提要的 url。您可以使用任意数量的输入 ICS 文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多