2种方式将Google日历与Fullcalendar同步

时间:2012-06-20 23:43:39

标签: fullcalendar google-calendar-api

我已经能够使用php和javascript以编程方式在我的Fullcalendar和我的Google日历之间开发双向同步。我的fullcalendar显示来自Mysql数据库的事件以及来自Google日历的事件。 我遇到的问题是,当我的mysql fullcalendar事件加载到我的Google日历中时,我会看到我的fullcalendar上的mysql事件2x ...一个来自mysql,然后是一个来自Google的。我需要继续显示由mysql创建的事件并停止显示谷歌事件....但只有源自mysql的谷歌事件。

在本质上,我需要过滤掉源自我的数据库的Google日历事件,但会将手动输入的Google日历事件显示在Google日历中。

当我将mysql事件发送到谷歌时,我当前将返回的谷歌日历ID,$ gcal_id = $ createdEvent-> getId()存储到mysql中。我的目的是阅读google api回调并过滤掉与我存储在mysql中的id匹配的gCal $ uid。

我无法弄清楚如何访问google api回调中找到的gCal $ uid值,然后将它们与从数据库中提取的id数组进行比较。

任何想法或代码片段都将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:3)

我从一个不同的角度攻击了这个问题,并且能够解决我的fullcalendar上出现重复条目​​的问题。 当日历加载每个事件时,我将事件ID(减去@google)与我在FullCalendar的“eventAfterRender”中存储在数据库中的gcal id进行比较。如果我得到一个匹配,我使用FullCalendar的'removeEvents'从日历中删除重复的事件。

答案 1 :(得分:0)

我的结果不一致。该过程将连续几次工作,然后突然停止工作。由于缺少PHP文档,我仍在进行故障排除,但这很困难。

无论如何,与谷歌日历相比,从谷歌日历传入FullCalendar是一件轻而易举的事。

对于传入,您需要向用户提供有关如何获取其公共或私有XML Feed的说明。获取公共XML的步骤详见http://arshaw.com/fullcalendar/docs/google_calendar/

要获取私有XML,请不要公开您的日历,然后单击“私有”部分中的“XML”按钮。

还有一些其他步骤,但它们都在提供的链接中详细说明。

一旦我完成所有工作,我会向google提供有关传出同步的详细信息

BTW-为什么你不能给我发私信。我的stackoverflow设置中是否需要更改某些内容?