Microsoft a modifié la manière dont Outlook/Office365 gère le partage de calendrier pour des raisons de sécurité :
Les liens reachcalendar.ics sont désormais soumis à une authentification stricte, même s’ils semblaient accessibles anonymement auparavant.
Ils sont liés à une session utilisateur, un partage direct ou un « link-to-share » interne, et ne sont plus exploitables par un script sans authentification.
Redirections multiples (302) sont désormais utilisées pour protéger les accès non autorisés ou détecter les bots/scripts.
Microsoft pousse les utilisateurs à utiliser le système de publication ICS public via les paramètres Outlook (via publishedcalendar.ics).
Mais les dates ne correspondent pas trop:
Ce changement est intervenu progressivement :
Fin 2023 : premières limitations sur les liens reachcalendar.ics utilisés dans les intégrations tiers.
Début 2024 : redirections infinies (loop 302) pour les clients non authentifiés (cURL, scripts, serveurs).
Microsoft n’a pas toujours documenté publiquement ces changements, mais des retours sur GitHub, StackOverflow et les forums Microsoft confirment cette bascule.
Le plugin avec sa commande file() ne peut récupérer que des calendriers publics. ( A vérifier )
Bonjour,
Qu’est ce qui peut faire que ca ne fonctionne plus ?
Coté plugin Jeedom, il n’y a pas eu de changement depuis 07/2023.
Pour la différence entre curl et file(), je vous laisse consulter la liste des options possibles pour la commande curl en PHP: curl_setopt
La commande file() est appelé par le plugin sans le paramètre contexte.
AMHA si MS continue à renforcer la sécurité, ça ne devrait pas fonctionner avec curl non plus.
( Bientôt )