2011-01-05 2 views
7

Ich erstelle eine PHP-Website, die die Google Kalender-API verwendet. Es funktioniert gut mit Create, Update und Delete: Jedes Ereignis von der PHP-Website wird nach der Anmeldung in meine Google Kalender-Ereignisse übertragen.Google Kalender synchronisieren mit PHP auf 2 Arten

Ereignisse, die auf meiner Website erstellt wurden, werden in Google Kalender erstellt.

Was ich jetzt will ist: Wenn ich ein Ereignis von meiner Testseite erstelle, geht es nach der Anmeldung in Google Kalender. Wenn ich dann dieses Ereignis von Google Kalender aktualisiere oder lösche, sollte es das PHP Website Ereignis automatisch aktualisieren oder löschen .

Grundsätzlich: 1-Weg-Synchronisierung funktioniert gut, aber jetzt möchte ich 2-Wege-Synchronisation.

Wenn jemand irgendwelche Ideen dann freundlich mit mir teilen, wird es sehr geschätzt werden.

Antwort

5

In Google Kalender (gCal) gibt es keine Anwendungs-Hooks, mit denen Sie eine Aktion auslösen können, wenn ein Ereignis gelöscht wird. Stattdessen müssen Sie entweder gCal in Intervallen abfragen (dies könnte alle paar Minuten/Stunden ein Cron-Job sein) und Ihren Kalender entsprechend aktualisieren, oder jedes Mal, wenn Sie eine Aktion aus Ihrem Kalender ausführen, kann eine 1 in X möglicherweise vollständig neu synchronisiert werden.

Dies bedeutet, dass Sie den gCal als definitive Quelle verwenden und diese Änderungen in Ihre lokale Anwendung spiegeln.

+1

ich mit Andy hier zustimmen, dass es keine Möglichkeit in der API ist diesen – JoshBerke

1

Wäre es nicht eine Option für Ihr System, eine iCal-Ausgabe unter einer speziellen, benutzerspezifischen URL zu generieren und den Benutzer dann in Google Calendars (oder seinem iCal-Kalender Ihrer Wahl) zu abonnieren?

Auf diese Weise würde Ihr System immer den autorisierenden Kalender enthalten, und Google Kalender würde alle Änderungen, die Sie automatisch vornehmen, widerspiegeln. Wenn Sie möchten, dass Änderungen in Google Kalender in Ihrer Anwendung widergespiegelt werden, können Sie möglicherweise iCals für den Kalender des Benutzers abonnieren und diese dann in regelmäßigen Abständen abfragen, um etwaige Änderungen des Nutzers widerzuspiegeln hat an diesem Ende gemacht.

Ich würde mich in Richtung der ersten Option neigen (Ihr iCal über Google Kalender abonniert), da es eine einfachere und einfachere Lösung ist.

1

gut, nachdem diese Antworten folgen und ein Loch 2-Wege-Sync-Prozess Aufbau, i realisiert seit 2013 eine Push-Benachrichtigungen für den Kalender gibt es Sie werden immer noch eine vollständige Synchronisierung Prozess benötigen, da die Push-Benachrichtigung informiert nur über eine Änderung aber keine Daten über die Änderung. hoffe, es wird dir etwas Zeit sparen.

Push Notifications

+0

zu tun Wenn Sie Ihren Kopf sind schütteln ungläubig [wie ich], dass die Push von der API * darüber informiert, dass ein Kalender geändert * aber nicht * was sich geändert hat *, [dieser Beitrag] (https://plus.google.com/+MatthewZimmerman/posts/ag6CEJoXxbM) - bestätigt leider die schlechten Nachrichten. – elbowlobstercowstand