Développement d'une application où les candidats planifient des entretiens avec les membres de notre équipe via un service tiers. Périodiquement, nous effectuons des appels d'API vers le tiers pour les modifications récentes, générons un fichier ICS puis envoyons ce fichier par courrier électronique à notre membre de l'équipe pour qu'il puisse le stocker dans son agenda Google.Google Calendar ignorant ICS UID lors de l'utilisation du lien "Ajouter au calendrier"
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Google Inc//Google Calendar 70.9054//EN CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20171001T180000Z DTEND:20171001T190000Z SUMMARY:Sample Event UID:[email protected] DTSTAMP:20171001T023000Z ORGANIZER:[email protected] SEQUENCE:0 END:VEVENT END:VCALENDAR
La question que je vais avoir est que, lorsque le membre de l'équipe clique sur le bouton « Ajouter au calendrier » lien qui génère Google Mail. Il ignore l'UID que j'ai généré, [email protected], et crée le sien: [email protected]. Pour cette raison, lorsque des mises à jour sont apportées à l'événement, l'UID n'est pas le même que celui stocké par Google. Il crée donc un nouvel événement plutôt que de mettre à jour l'événement existant. Dans l'exemple ci-dessous l'événement a été déplacé d'1 heure:
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Google Inc//Google Calendar 70.9054//EN CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VEVENT DTSTART:20171001T190000Z DTEND:20171001T200000Z SUMMARY:Sample Event UID:[email protected] DTSTAMP:20171001T023224Z ORGANIZER:[email protected] SEQUENCE:1 END:VEVENT END:VCALENDAR
Alors maintenant, il y a deux événements pour la même interview avec deux différents [email protected] UIDs.
J'ai constaté que si j'importe directement le fichier ICS, au lieu d'utiliser le lien "Ajouter au calendrier", l'UID est préservé comme initialement créé et la mise à jour/annulation fonctionne comme prévu. Étant donné que le processus d'importation d'événements dans Google Agenda n'est pas le flux de travail le plus simple et le grand nombre d'événements que nous attendons, j'espère conserver la méthode "Ajouter au calendrier".
Des suggestions sur ce que je fais mal ici?