Hola, a ver si me podéis ayudar.
Tengo una web que quiero sincronizar Google Calendar.
He creado el Acceso a la API en Google Cloud Console, en Credentials, OAuth, he puesto como URL Redirect http://www.xxxxxxxxx.com/gmailresponse/, y esa misma URL la he puesto en la clase encargada del login en Google.
Lo que me pasa es que cuando le doy a Conectar con Google, me lleva a la página esa de conceder permisos, solicita permisos para calendarios, le doy a Conceder (o Aceptar, no me acuerdo lo que pone en el botón) y los permisos se conceden correctamente, pero en vez de volver a la página gmailresponse (que después de guardar unos datos hace un redireccionamiento a /profile/) me lleva a index.php.
¿Sabéis qué me falta por poner para que me haga el redireccionamiento correctamente?
Muchas gracias.
yo estuve mirando algo parecido con Google Apps y el SSO (Single Sign On) y al final no funcionó por el tema de la creación de los certificados SSL, auqnue lo tengo pendiente de arreglar y hacerlo funcionar.
¿Estás usando SSO?
En el caso de sesión único aparece:
CitarHabilitar inicio de sesión único
- URL de la página de acceso * ( URL para acceder a tu sistema y a Google Apps
- URL de la página de fin de sesión * ( URL para redirigir usuarios cuando finalizan la sesión (
- Cambiar URL de contraseña * ( URL para permitir a los usuarios cambiar su contraseña en tu sistema; cuando se define aquí, esta URL se muestra aunque el inicio de sesión único no esté habilitado.)
Hay mucha documentación, pero todo en Inglés:
SAML Single Sign-On (SSO) Service for Google Appshttps://developers.google.com/google-apps/sso/saml_reference_implementation
Generating Keys and Certificates for Google Apps SSOhttps://developers.google.com/google-apps/help/articles/sso-keygen
Uso la Google Client API.
http://code.google.com/p/google-api-php-client/
Para general la URL de Login (realmente no es login, sino para conceder permisos), pongoo los datos que previamente he creado en la Developer Console:
$client = new Google_Client();
$client->setApplicationName("Google Calendar PHP Starter Application");
$client->setClientId('xxxxxxxxxxx.apps.googleusercontent.com');
$client->setClientSecret('xxxxxxxxxxxxxxxxxxxxxxxxx');
$client->setRedirectUri('http://www.xxxxxxx.com/gmailresponse/');
$client->setDeveloperKey('xxxxxxxxxxxxxxxxxxxxxxxxx');
Y luego genero la URL:
$authUrl = $client->createAuthUrl();
return $authUrl;
Ahora tengo otro problema, me devuelve a donde yo quiero (/gmailresponse/), pero aunque me devuelve 4 (respuesta correcta) no me ha concedido los permisos en mi cuenta. No me sale errores, simplemente me devuelve el OK pero realmente no ha hecho nada...
EDITO:
Ya lo he conseguido, me faltaba este código, que pensaba que había que hacerlo después:
$this->client->authenticate($_GET['code']);
Ahora tengo otro problema pero es de otra cosa (Eventos en calendarios) así que para eso abro otro post