8
votes

Google Calendar Sync avec PHP de 2 façons

Je crée un site Web PHP qui utilise l'API Google Calendar. Cela fonctionne bien avec Créer, mettre à jour et supprimer: tout événement du site Web PHP passe dans mes événements de calendrier Google après la connexion.

Les événements créés sur mon site sont créés dans Google Calendar.

Ce que je veux maintenant, c'est-à-dire: lorsque je crée un événement à partir de ma page de test, il passe dans Google Calendar après la connexion, puis si je mettez à jour ou supprimez cet événement à partir de Google Calendar, il doit automatiquement mettre à jour ou supprimer l'événement de site Web PHP.

Fondamentalement: la synchronisation à 1 voie fonctionne bien, mais maintenant je veux une synchronisation à deux voies.

Si quelqu'un a des idées, alors partagez-moi, cela sera très apprécié.


1 commentaires

Ce que je veux, si je supprime un "événement Google" déjà synchronisé de mon "Calendrier de Google", il convient également de supprimer de mon application PHP déjà synchronisée. Quelqu'un a-t-il une idée pour cela?


3 Réponses :


6
votes

Il n'y a pas de crochets d'application dans Google Calendar (GCAL) qui vous permettent de déclencher une action lorsqu'un événement est supprimé. Au lieu de cela, vous devez soit interrogez sur des intervalles (cela pourrait être un travail cron toutes les quelques minutes / heures) et mettez à jour votre calendrier en conséquence, ou à tout moment, vous effectuez une action à partir de votre calendrier.

Cela implique que vous utilisez le GCAL comme source définitive et que vous reflète ces modifications à votre application locale.


1 commentaires

Je suis d'accord avec Andy ici, qu'il n'y a pas de moyen dans l'API de faire cela



1
votes

ne serait-ce pas une option pour votre système de générer une sortie icale à une URL spéciale, spécifique à l'utilisateur, puis que l'utilisateur vous abonnez-vous à ce calendrier dans Google Calendrars (ou leur calendrier de lecture de la lecture icale)? < / p>

De cette façon, votre système tiendrait toujours le calendrier autorisant et Google Calendar refléterait les modifications que vous effectuez automatiquement.

alternativement, si vous souhaitez que les modifications du calendrier de Google se reflètent dans votre application, vous pourrez peut-être vous abonner à ICALS pour le calendrier de l'utilisateur, puis les interrogez à un intervalle régulier afin de refléter les modifications de l'utilisateur. fait à cette fin.

Je me pencherais vers la première option (votre iCe souscrit via Google Calendar), car il s'agit d'une solution plus simple et plus facile.


0 commentaires

2
votes

Eh bien, après avoir suivi ces réponses et construire un processus de synchronisation à 2 voies Trou, J'ai réalisé qu'il y a une notification push pour le calendrier depuis 2013. Vous aurez toujours besoin d'un processus de synchronisation complète car la notification push ne présente qu'une modification, mais aucune donnée sur le changement. J'espère que cela vous évitera du temps.

Notifications push


1 commentaires

Si vous secouez la tête dans l'incrédulité [comme moi] que la poussée de l'API notifie qu'un calendrier a changé mais pas Qu'est-ce qui a changé , Ce message -Unheureusement, confirme la mauvaise nouvelle.