2017-10-01 20 views
0

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?

Répondre