为了与谷歌同步我计划使用these components(当然我可以以某种方式自己编写所有内容,但这是我可以为未来规划的东西,我现在时间不够,或者另外可以建议一些连接的工作代码谷歌日历发送/接收数据?).
现在我的主要问题并不是真的与Delphi编程有关,我必须问一个与Delphi相关的问题,因为其他问题没有被查看(比如this one我问).
所以我想知道如何进行同步.注意:我执行单向同步,生成的日历将是只读日历.
我可以设置过去和未来的最大数量同步(例如过去10天,将来100).然后我的想法是这样的:
当我启动同步应用程序时,我完全阅读了该范围内的谷歌日历主题,我逐一比较我在db中的内容,然后我“合并”更改.然后在计时器上检查我的数据库中的差异,我上传更改.
但我不确定这些是最好的解决方案.
真实情况的简化是这样的:想象它是一个CRM,每个用户都有一些任务.由于超出了每个任务的逻辑,我只想在我的应用程序中管理该逻辑,但将日历推向谷歌的想法是,它可以从任何移动设备轻松获得.这是单向同步的方式.即使每次同步我都会“下载”新插入的任务,我也不应该只读取日历,但我会忽略删除的和已编辑的任务.在第二种情况下,仅仅跟踪数据库中的更改是不够的,但我也会跟踪谷歌的变化,至少要“拦截”新添加的任务.
我知道这是一个长期存在的问题,但我想触发一个有用的答案,然后将我重定向到同步算法或Delphi示例代码或任何可以帮助我在这个问题上取得进展的东西.谢谢.
谷歌:“日历同步算法”> https://wiki.mozilla.org/Calendar:Syncing_Algorithm
> http://today.java.net/pub/a/today/2007/01/16/synchronizing-web-client-database.html
> Synchronisation algorithms
最后一个实际上很有趣,因为它直接回到StackOverflow;)点是:我认为没有必要重新发明轮子. Ps:第一个链接包含一些类似于你的有用的想法.