From e408f1e0ca8e98938684bc7b0367940d86fe6abb Mon Sep 17 00:00:00 2001 From: olinet Date: Sun, 7 Sep 2025 12:00:35 +0200 Subject: [PATCH] AddOn/Calender_Office365_User/OutlookCalendar.php aktualisiert --- .../OutlookCalendar.php | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/AddOn/Calender_Office365_User/OutlookCalendar.php b/AddOn/Calender_Office365_User/OutlookCalendar.php index 229d0816..93fff630 100644 --- a/AddOn/Calender_Office365_User/OutlookCalendar.php +++ b/AddOn/Calender_Office365_User/OutlookCalendar.php @@ -16,7 +16,7 @@ class OutlookCalendar { } // ------------------------------------------ - // 🔁 Refresh Token verwenden + // Refresh Token verwenden public function refreshAccessToken() { $url = "https://login.microsoftonline.com/common/oauth2/v2.0/token"; @@ -57,7 +57,7 @@ class OutlookCalendar { return $this->sendRequest($url, [], false, 'DELETE'); } - // Termin laden + // Termine laden public function getEvents($top = 10) { $url = "https://graph.microsoft.com/v1.0/me/events?\$top=" . intval($top); //return $this->sendRequest($url, $eventData, false, 'GET'); @@ -83,7 +83,32 @@ class OutlookCalendar { ]; } } + + // Einzelnen Termin abrufen + public function getEventById($eventId) { + $url = "https://graph.microsoft.com/v1.0/me/events/" . urlencode($eventId); + $headers = [ + "Authorization: Bearer " . $this->accessToken, + "Accept: application/json" + ]; + $ch = curl_init($url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + $response = curl_exec($ch); + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + curl_close($ch); + + if ($httpCode === 200) { + return json_decode($response, true); + } else { + return [ + "error" => true, + "status" => $httpCode, + "message" => $response + ]; + } + } // ------------------------------------------ // 🔧 API Request senden (intern)