Synchroniser avec Google Calendar

Disponible dans :Pro

HappenBoard Pro peut garder vos événements et un calendrier Google alignés. Les événements que vous publiez sur votre site apparaissent dans le calendrier Google, et ceux ajoutés dans Google arrivent sur votre site en brouillon, pour que vous les relisiez.

La même configuration permet à chaque personne qui reçoit des rendez-vous de connecter son propre calendrier Google : ses heures occupées ne sont plus proposées à la réservation.

La synchronisation Google Calendar demande HappenBoard Pro. Voir ce que Pro ajoute.

Avant de commencer

  • HappenBoard Pro installé et actif.
  • Un compte Google qui peut modifier le calendrier à utiliser.
  • Un site en https. Google refuse une adresse de connexion en http.
  • Un compte administrateur. L’écran Integrations est réservé aux comptes qui ont la permission de gérer les intégrations, les administrateurs par défaut (voir rôles et permissions).

Créer vos identifiants Google

HappenBoard dialogue avec Google par une application que vous créez une seule fois, dans votre propre compte Google Cloud.

  1. Allez dans HappenBoard → Integrations et cliquez sur Configure sur la carte Google Calendar (Pro). Gardez cet onglet ouvert.
  2. Dans la carte, cliquez sur Create a Google Cloud project. Donnez un nom au projet, par exemple celui de votre site, puis cliquez sur Créer.
  3. Dans Google Cloud, ouvrez API et services → Bibliothèque, cherchez Google Calendar API, ouvrez-la et cliquez sur Activer.
  4. Ouvrez Google Auth Platform et remplissez l’écran de consentement : un nom d’application et votre adresse e-mail. Pour l’audience, choisissez Interne si votre compte appartient à une organisation Google Workspace, Externe sinon.
  5. En Externe, ouvrez Audience et cliquez sur Publier l’application. Une application laissée en test ne fonctionne que pour les utilisateurs test que vous listez, et Google coupe sa connexion au bout de 7 jours.
  6. Ouvrez Clients, cliquez sur Créer un client et choisissez Application Web comme type d’application.
  7. Sous URI de redirection autorisés, cliquez sur Ajouter un URI, collez l’adresse de retour affichée à l’étape 3 de la carte (voir ci-dessous) et cliquez sur Créer.
  8. Copiez l’ID client et le Code secret du client que Google affiche.

La carte affiche l’adresse de retour exacte à enregistrer (l’URI de redirection). Copiez-la depuis la carte : Google compare les adresses caractère par caractère. C’est l’adresse de votre site suivie de /wp-json/happenboard/v1/pro/calendar/google/callback :

Code
https://example.com/wp-json/happenboard/v1/pro/calendar/google/callback

Si Réglages → Permaliens est sur « Simple », c’est plutôt https://example.com/index.php?rest_route=/happenboard/v1/pro/calendar/google/callback.

Connecter votre compte Google

  1. De retour dans la carte Google Calendar (Pro), collez l’ID dans Client ID et le code secret dans Client secret.
  2. Cliquez sur Save credentials.
  3. Cliquez sur Authorize with Google et choisissez le compte propriétaire du calendrier.
  4. Acceptez l’accès demandé par Google. Si Google signale qu’il n’a pas validé l’application, cliquez sur Paramètres avancés et continuez : c’est votre propre application.
  5. Google vous ramène sur la carte. Un message confirme Google Calendar connected. et la carte affiche Connected as avec l’adresse du compte.

Si vous refusez, ou si Google renvoie une erreur, le message l’indique. La connexion seule n’envoie encore rien.

Modifier le Client ID ou le code secret

Une fois les identifiants enregistrés, la carte masque leurs champs. Deux liens permettent de les changer :

  • Replace client secret : collez un nouveau code secret créé dans Google Cloud et cliquez sur Save secret. Le Client ID et la connexion restent tels quels.
  • Reset credentials : après confirmation, supprime le Client ID et le code secret enregistrés, et la carte les redemande. Ce lien s’affiche tant qu’aucun compte n’est connecté. Pour changer le Client ID d’un site connecté, cliquez d’abord sur Disconnect.

Les hôtes qui ont connecté leur propre calendrier (voir plus bas) devront le reconnecter si vous passez à un autre client Google Cloud.

Choisir le calendrier et activer la synchronisation

RéglageRôlePar défaut
Target calendarLe calendrier Google dans lequel HappenBoard écrit et qu’il relit. Seuls les calendriers modifiables par le compte sont proposés. Le principal porte la mention (primary).Aucun
Sync events to Google CalendarLance la synchronisation dans les deux sens. Disponible une fois un calendrier choisi.Désactivé
Also import invitationsDésactivé : seuls les événements créés par ce compte reviennent sur votre site, donc personne ne peut y ajouter un événement en envoyant une invitation. Activé : les invitations sont aussi importées, en brouillon.Désactivé

Utilisez un calendrier réservé au site, par exemple « Événements du site », plutôt que votre agenda personnel : ce que vous ajoutez dans le calendrier cible revient sur votre site en brouillon.

Ce qui est synchronisé, et quand

De votre site vers Google :

  • Un événement part à chaque enregistrement, s’il est publié et sans mot de passe. Les brouillons, les événements privés et planifiés restent sur votre site jusqu’à leur publication.
  • Les événements publiés avant l’activation partent au prochain enregistrement.
  • Google reçoit le titre, la description avec un lien vers la page de l’événement, le lieu, les dates et, pour un événement récurrent, sa règle de répétition. Une date annulée dans une série disparaît de Google au prochain enregistrement de l’événement. Une date déplacée seule n’est pas envoyée.
  • Mettre un événement à la corbeille marque sa copie Google comme annulée. Le supprimer définitivement efface la copie.
  • Si Google ne peut pas prendre une modification à cause d’un problème passager, comme une absence de réponse ou un serveur surchargé, HappenBoard réessaie 5, 15, 60 puis 240 minutes plus tard. Les autres erreurs ne sont pas retentées : corrigez la cause, puis enregistrez de nouveau l’événement.

De Google vers votre site, toutes les 15 minutes :

  • Un nouvel événement du calendrier arrive en brouillon sur l’écran Événements. La première vérification remonte 90 jours en arrière.
  • Les événements marqués privés dans Google ne sont jamais importés.
  • Une modification faite dans Google met à jour l’événement correspondant, sans jamais le publier ni le dépublier.
  • Un événement annulé ou supprimé dans Google est marqué comme annulé sur votre site, pas supprimé.

Si un événement a changé des deux côtés entre deux vérifications, la modification la plus récente l’emporte.

Vérifier que la synchronisation fonctionne

Une fois la synchronisation activée, la carte affiche une section Sync activity : la dernière vérification et le nombre de changements reçus, ou son erreur. Les modifications encore en échec après toutes les nouvelles tentatives y sont listées ; enregistrer l’événement à nouveau relance un essai.

  • Pull now interroge Google tout de suite.
  • Force full resync relit tout le calendrier à la prochaine vérification. Gardez-le pour le cas où les deux côtés semblent décalés : c’est plus lent et cela peut créer des doublons pendant un moment.

Déconnecter Google Calendar

Cliquez sur Disconnect en bas de la carte et confirmez. HappenBoard retire son accès chez Google, arrête la synchronisation et oublie quel événement Google correspond à quel événement du site. Votre Client ID et votre code secret restent enregistrés : vous pourrez vous reconnecter plus tard avec Authorize with Google.

Les événements déjà présents dans Google y restent, mais ne sont plus mis à jour. Si vous reconnectez plus tard le même calendrier, HappenBoard ne reconnaît pas ces copies : supprimez-les d’abord dans Google, ou choisissez un autre calendrier.

Bloquer les heures occupées des hôtes

Si vous proposez des rendez-vous, chaque hôte peut connecter son propre calendrier Google, en lecture seule. La page de réservation ne propose plus les heures où il est occupé. Seuls les identifiants créés plus haut sont nécessaires : ni la connexion du site ni l’interrupteur de synchronisation n’entrent en jeu.

  1. L’hôte ouvre son propre profil (Comptes → Profil) et trouve la section Booking calendar.
  2. En face de Google Calendar, il clique sur Connect et accepte l’accès en lecture seule.

HappenBoard lit seulement quand l’hôte est occupé, jamais le contenu de ses rendez-vous, et revérifie toutes les cinq minutes. Avec une application Google Interne, seuls les comptes de votre organisation Workspace peuvent se connecter.

En cas de problème

  • redirect_uri_mismatch : l’adresse enregistrée chez Google diffère de celle que HappenBoard envoie. La carte affiche la bonne sous Authorize with Google : copiez-la dans les URI de redirection autorisés de votre client, https compris.
  • invalid_client : Google ne connaît pas ce Client ID. Cliquez sur Reset credentials et collez à nouveau le Client ID.
  • Le message Google authorisation failed s’affiche après votre accord : le code secret est peut-être faux. Cliquez sur Replace client secret, collez-le à nouveau, puis cliquez sur Authorize with Google.
  • Google indique que l’accès est bloqué : l’application est encore en test. Publiez-la depuis Audience, ou ajoutez le compte comme utilisateur test.
  • La synchronisation s’est arrêtée au bout d’une semaine environ : l’application était en test. Publiez-la, puis déconnectez et reconnectez le compte.
  • Un événement manque dans Google : vérifiez qu’il est publié sans mot de passe, puis enregistrez-le à nouveau.
  • Rien ne revient de Google : les vérifications reposent sur les tâches planifiées de WordPress. Voir Santé et maintenance.

Pour aller plus loin