$client = new Google_Client(); $client->setApplicationName('Google Calendar API PHP Quickstart'); $client->setScopes(Google_Service_Calendar::CALENDAR); $client->setAuthConfig('credentials.json'); // Asegúrate de que la ruta sea correcta $client->setAccessType('offline'); // Obtén el token de acceso si ya lo tienes guardado o autentica al usuario $tokenPath = 'token.json'; if (file_exists($tokenPath)) { $accessToken = json_decode(file_get_contents($tokenPath), true); $client->setAccessToken($accessToken); } // Si no tienes el token o ha expirado, necesitarás obtener uno nuevo if ($client->isAccessTokenExpired()) { // Si hay un token de refresco, utilízalo para obtener un nuevo token if ($client->getRefreshToken()) { $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken()); } else { // Si no tienes un token de refresco, debes autenticar al usuario $authUrl = $client->createAuthUrl(); echo "Abre este link en tu navegador:\n$authUrl\n"; echo 'Introduce el código de verificación: '; $authCode = trim(fgets(STDIN)); // Intercambia el código de verificación por un token de acceso $accessToken = $client->fetchAccessTokenWithAuthCode($authCode); $client->setAccessToken($accessToken); // Guarda el token para su uso futuro if (!file_exists(dirname($tokenPath))) { mkdir(dirname($tokenPath), 0700, true); } file_put_contents($tokenPath, json_encode($client->getAccessToken())); } } $service = new Google_Service_Calendar($client);