web-dev-qa-db-fra.com

Comment obtenir un lien pour ajouter un agenda Google?

Je connais les méthodes suivantes pour ajouter un agenda Google:

  1. Afficher le calendrier intégré, appuyez sur la +Google Calendar bouton:
    1. Accédez aux paramètres du calendrier.
    2. Copiez "l'URL publique dans ce calendrier" telle que https://calendar.google.com/calendar/embed?src=foo%40example.com.
    3. Lorsque l'utilisateur appuie sur le lien, il verra une version intégrée du calendrier. Ils appuieraient ensuite sur le bouton en bas à droite + Google Agenda et celui-ci serait ajouté à leur agenda.
  2. Indiquez à l'utilisateur l'adresse électronique "ID du calendrier":
    1. Accédez aux paramètres du calendrier.
    2. Sous "Intégrer le calendrier", copiez le "ID du calendrier" tel que [email protected]
    3. L'utilisateur ouvrirait ensuite son agenda Google et, sous "Ajouter l'agenda d'un ami", il entrerait cette longue adresse e-mail.
  3. Ajouter une ressource partagée:
    1. Appuyez sur le bouton plus près de "Ajouter le calendrier d'un collègue"
    2. Hit "Parcourir les ressources"
    3. Ajouter un calendrier de la liste

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?

2
Senseful

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:

  • Si l'id contient un #, l'id non codé ne fonctionnera pas, alors base64 le sera.
  • Si l'id est une ressource (par exemple @resource.calendar.google.com), l'id non codé fonctionne, base64 ne fonctionne pas.
  • Si l'id est un groupe standard (par exemple @group.calendar.google.com), les fichiers non codés et base64 fonctionnent.
  • Si l'ID est l'adresse électronique d'un utilisateur (par exemple, @example.com), les fichiers non codés et base64 fonctionnent.
  • Si l'id est un groupe.v (par exemple, @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):

  1. Accédez aux paramètres du calendrier.
  2. Sous "Autorisations d'accès", cliquez sur le bouton "Obtenir un lien pouvant être partagé".
  3. Ce sera de la forme https://calendar.google.com/calendar?cid=bWFya2V0aW5nQHbWFya2V0aW5nQH.
  4. En appuyant sur ce lien, l'utilisateur sera invité à l'ajouter à son agenda Google.

Pour créer un lien simple-ajouter à l'agenda (si vous n'êtes pas le propriétaire de l'agenda):

  1. Obtenez le "ID de calendrier".
  2. Encodez-le en base64 (par exemple, en utilisant un site Web tel que base64encode.org ).
  3. Vous avez maintenant le CID dans un format attendu par Google Agenda.
  4. 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:

  1. Cachez le calendrier dans Google Agenda en décochant le curseur dans la barre latérale gauche.
  2. Accédez au lien que vous venez de créer.
  3. Il devrait maintenant être vérifié sur la barre latérale gauche.

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).

1
Senseful