$client_id, 'client_secret' => $client_secret, 'code' => $code, 'redirect_uri' => $redirect_uri, 'grant_type' => 'authorization_code' ]; $options = [ 'http' => [ 'method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded", 'content' => http_build_query($data), ], ]; $response = file_get_contents($token_url, false, stream_context_create($options)); if (!$response) { die('Erreur de récupération du token Outlook.'); } $tokens = json_decode($response, true); $access_token = $tokens['access_token'] ?? null; $refresh_token = $tokens['refresh_token'] ?? null; $expires_in = $tokens['expires_in'] ?? 3600; if (!$access_token || !$refresh_token) { die('Erreur de génération du token Outlook.'); } $expires_at = time() + $expires_in; $pdo->prepare("INSERT INTO outlook_tokens (praticien_id, access_token, refresh_token, expires_at) VALUES (?, ?, ?, ?) ON DUPLICATE KEY UPDATE access_token = VALUES(access_token), refresh_token = VALUES(refresh_token), expires_at = VALUES(expires_at)") ->execute([$praticien_id, $access_token, $refresh_token, $expires_at]); echo <<
✅

Подключение к Outlook выполнено успешно

Теперь вы можете синхронизировать записи на приём с вашим календарём.

Синхронизировать записи
HTML; ?>