Je connais les méthodes suivantes pour ajouter un agenda Google:
https://calendar.google.com/calendar/embed?src=foo%40example.com
.[email protected]
Cependant, toutes ces méthodes sont multi-étapes et moins qu'idéales. Je viens de remarquer qu'il existe une 3ème méthode plus optimale. Il est possible de créer un lien de la forme https://calendar.google.com/calendar?cid=ZW4udXNhI2hvbGlkYXlAZ3JvdXAudi5jYWxlbmRhci5nb29nbGUuY29t
. En appuyant sur un lien comme celui-ci, il affiche le calendrier dans le calendrier Google de l'utilisateur (ou l'invite à ajouter le calendrier).
J'ai essayé de substituer mon "ID de calendrier" à la place du "cid", par exemple. https://calendar.google.com/[email protected]
mais cela produit un lien non valide avec le message d'erreur suivant:
Pardon
Cette adresse e-mail n'est pas associée à un compte Google Agenda actif: [email protected]. Veuillez vérifier l'adresse e-mail et réessayer.
Même si j'essaie d'échapper au signe @
avec %40
(https://calendar.google.com/calendar?cid=en.christian.holiday%40group.v.calendar.google.com
), le même message d'erreur s'affiche.
Comment puis-je obtenir le cid
de mon agenda afin que d'autres puissent l'ajouter d'un simple clic sur un lien?
Mise à jour:
Normalement, vous pouvez simplement ajouter votre identifiant de calendrier à l'URL:
https://calendar.google.com/calendar?cid=ht3jlfaac5lfd6263ulfh4tql8@group.calendar.google.com
Cependant, il arrive parfois que cela ne fonctionne pas et que vous deviez utiliser le codage base64:
https://calendar.google.com/calendar?cid=ZW4udXNhI2hvbGlkYXlAZ3JvdXAudi5jYWxlbmRhci5nb29nbGUuY29t
Les règles exactes pour le moment où l’un fonctionnera et l’autre ne me semblera pas flou. Voici quelques choses que j'ai trouvées:
#
, l'id non codé ne fonctionnera pas, alors base64 le sera.@resource.calendar.google.com
), l'id non codé fonctionne, base64 ne fonctionne pas.@group.calendar.google.com
), les fichiers non codés et base64 fonctionnent.@example.com
), les fichiers non codés et base64 fonctionnent.@group.v.calendar.google.com
), vous ne savez pas lequel fonctionnera, car je ne les ai vus qu'avec le symbole #
qui vous oblige à utiliser base64.Pour créer un lien simple-ajouter à l'agenda (si vous êtes le propriétaire de l'agenda):
https://calendar.google.com/calendar?cid=bWFya2V0aW5nQHbWFya2V0aW5nQH
.Pour créer un lien simple-ajouter à l'agenda (si vous n'êtes pas le propriétaire de l'agenda):
Ajoutez le https://calendar.google.com/calendar?cid=
au préfixe cid
, et le tour est joué, vous avez un lien simple à ajouter au calendrier.
(Il est intéressant de noter que l'URL cid
ne fonctionnera que pour un paramètre codé en base64, même si l'interface utilisateur affichera l'adresse électronique non codée dans le message d'erreur.)
Pour vérifier que le lien fonctionne, en supposant que vous ne souhaitez pas supprimer le calendrier:
Remarque: une alternative au calcul du cid
codé consiste à déterminer où le +Google Calendar bouton (dans le cadre de l'option 1 de la question) vous amène (par exemple, via surveillance du résea , ou en désactivant votre réseau en cliquant sur le lien).