Синхронизация данных между базой данных и календарем Google - PullRequest
4 голосов
/ 05 ноября 2011

Я хотел бы синхронизировать свою БД (задачи в моей БД, которые имеют расшифровку, дату, время начала и окончания, а также пользователя) с календарем Google.

Для синхронизации с Google я планирую использовать эти компоненты (конечно, я мог бы как-то написать весь материал сам, но это то, что я могу планировать на будущее, сейчас у меня мало времени, или в качестве альтернативы вы можете предложить какой-нибудь рабочий код, который подключается к календарю Google для отправки / получения данных?).

Теперь моя главная проблема на самом деле не связана с программированием на Delphi. Я должен задавать вопросы, связанные с Delphi, потому что другие вопросы остаются без ответа (например, этот , который я задал).

Так что мне интересно, как сделать синхронизацию. Примечание. Синхронизация выполняется одним способом, и сгенерированный календарь будет доступен только для чтения.

Я могу установить максимальное число в прошлом и будущем для синхронизации (например, 10 дней в прошлом и 100 в будущем). Тогда у меня есть идея: Когда я запускаю приложение синхронизации, я полностью читаю элементы календаря Google в диапазоне, сравниваю по одному с тем, что есть в БД, и затем «объединяю» изменения. Затем по таймеру я проверяю различия в моей базе данных и загружаю изменения.

Но я не уверен, что это лучшее решение.

Упрощение реального случая заключается в следующем: представьте, что это CRM с некоторой задачей, назначаемой каждому пользователю. Поскольку вне каждой задачи есть логика, которой я хочу управлять этой логикой только в моем приложении, но идея перенаправить календарь в Google состоит в том, что он легко доступен с любого мобильного устройства. Это способ односторонней синхронизации. Я также мог бы позволить календарю не быть доступным только для чтения при каждой синхронизации, я буду «загружать» вновь вставленные задачи, но я буду игнорировать удаленные и отредактированные. Во втором случае этого недостаточно для отслеживания изменений в БД, но я также должен отслеживать изменения в Google, по крайней мере, для «перехвата» вновь добавленных задач.

Я знаю, что это очень сложный вопрос, но я хотел бы вызвать ответ, который может быть полезен, перенаправив меня к алгоритму синхронизации или к образцу кода Delphi или ко всему, что может помочь мне продвинуться в решении этой проблемы. Спасибо.

1 Ответ

2 голосов
/ 05 ноября 2011

Google: «алгоритмы синхронизации календаря»

Последний на самом деле забавен, потому что он ведет прямо к StackOverflow;) Суть в том, что мне не нужно изобретать велосипед.Ps: Первая ссылка содержит некоторые полезные мысли, похожие на ваши.

...