2011-11-04 161 views
4

我想用谷歌日曆同步我的數據庫(我的數據庫上的任務,具有解鎖,日期,開始時間和結束時間,以及用戶)。數據庫和谷歌日曆之間的數據同步

對於與Google同步我打算使用these components(當然,我可以以某種方式自己編寫整個東西,但這是我現在可以爲未來做準備的事情,現在我缺乏時間,或者您可以提出一些建議連接到谷歌日曆發送/接收數據的工作代碼?)。

現在我的主要問題是沒有真正聯繫到Delphi編程無論如何,我必須問一個德爾福相關的問題,因爲其他問題得到unviewd(如我問this one)。

所以我想知道如何做同步。注意:我會單向同步,生成的日曆將是隻讀日曆。

我可以設置過去和未來同步的最大數量(例如過去10天,未來100個)。然後,我的想法是這樣的: 當我開始同步應用程序時,我嚴格閱讀範圍內的谷歌日曆記錄,我逐一比較我在db中的內容,然後「合併」更改。然後在計時器上檢查我的數據庫的差異,我上傳更改。

但我不確定這些是最佳解決方案。

簡化的真實案例是:想象一下,它是一個CRM,它爲每個用戶提供一些任務。由於超越了每項任務,我只想在自己的應用程序中管理這種邏輯,但將日曆推到谷歌的想法是,它可以很容易地從任何移動設備上獲得。這就是單向同步的方式。 Ic也應該讓日曆在每次同步時都不會被讀取,我會「下載」新插入的任務,但我會忽略已刪除的和已編輯的任務。在第二種情況下,僅僅跟蹤數據庫中的更改是不夠的,但我也會跟蹤谷歌上的更改,至少要「攔截」新添加的任務。

我知道這是一個棘手的問題,但我想觸發一個可能有用的答案,將我重定向到一個同步算法或Delphi示例代碼或任何可以幫助我在這個問題上取得進展的東西。謝謝。

+0

[Sync Algorithms](http://stackoverflow.com/questions/59521/sync-algorithms) –

+0

的可能重複我已經完成了一個培訓計劃程序數據庫應用程序,它可以同步到員工Outlook日曆。我使用的算法很快且很髒。我簡單地在描述字段文本前添加一個標識符,如「-TSDB-」,這樣我就可以刪除符合條件的所有事件,然後從數據庫中重新加載。無需檢查個別事件。不知道你是否可以使用這樣的東西......只是把它放在那裏。 –

+0

謝謝,這是我用於與本地展望同步的技巧。但是,爲了同步到gmail日曆,我想要一些其中有一些性能的東西,我無法通過刪除和重新創建5分鐘10000個任務來同步ecery。 – LaBracca

回答