Синхронизация Календаря Google с php двумя способами - PullRequest
8 голосов
/ 05 января 2011

Я создаю сайт php, который использует API Календаря Google.Он прекрасно работает с Create, Update и Delete: любое событие с сайта PHP попадает в события моего Календаря Google после входа в систему.

События, созданные на моем сайте, создаются в Календаре Google.

Что яТеперь я хочу, чтобы: когда я создаю событие со своей тестовой страницы, оно входит в Календарь Google после входа в систему, а затем, если я обновляю или удаляю это событие из Календаря Google, оно должно автоматически обновлять или удалять событие веб-сайта php.

В основном: односторонняя синхронизация работает нормально, но теперь я хочу двухстороннюю синхронизацию.

Если у кого-то есть какие-либо идеи, пожалуйста, поделитесь со мной, это будет высоко оценено.

Ответы [ 3 ]

5 голосов
/ 05 января 2011

В Календаре Google (gCal) нет ловушек приложений, позволяющих запускать действие при удалении события.Вместо этого вы должны либо опрашивать gCal с интервалами (это может быть задание cron каждые несколько минут / часов) и соответствующим образом обновлять свой календарь, либо каждый раз, когда вы выполняете действие из своего календаря, у вас есть 1 в X, возможно, полной повторной синхронизации.

Это означает, что вы используете gCal в качестве окончательного источника и отражаете эти изменения обратно в локальное приложение.

2 голосов
/ 27 января 2015

Что ж, после того, как я следовал этим ответам и построил процесс двухсторонней синхронизации, я понял, что для календаря с 2013 года есть push-уведомления. Вам все равно понадобится полная синхронизация, потому что push-уведомление только уведомляет об изменении, но не дает никакихизменение.надеюсь, это сэкономит вам время.

Push-уведомления

1 голос
/ 05 января 2011

Разве в вашей системе не будет возможности сгенерировать вывод iCal по специальному, специфичному для пользователя URL-адресу, а затем попросить пользователя подписаться на этот календарь в Google Calendars (или в своем календаре чтения iCal)?

Таким образом, ваша система всегда будет содержать авторский календарь, а Календарь Google будет отражать любые внесенные вами изменения автоматически.

В качестве альтернативы, если вы хотите, чтобы изменения в Календаре Google отражались в вашем приложении, вы можете подписаться на iCals для Календаря пользователя, а затем регулярно опрашивать их, чтобы отразить любые изменения, внесенные пользователем. сделано на этом конце.

Я бы предпочел первый вариант (ваш iCal подписан через Календарь Google), так как это более простое и легкое решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...