URL Redirect de Google

Iniciado por sexto, 22 Enero 2014, 10:51 AM

0 Miembros y 1 Visitante están viendo este tema.

sexto

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.

el-brujo

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 Apps
https://developers.google.com/google-apps/sso/saml_reference_implementation

Generating Keys and Certificates for Google Apps SSO
https://developers.google.com/google-apps/help/articles/sso-keygen

sexto

#2
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:
Código (php) [Seleccionar]

       $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:
Código (php) [Seleccionar]

       $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:
Código (php) [Seleccionar]

        $this->client->authenticate($_GET['code']);


Ahora tengo otro problema pero es de otra cosa (Eventos en calendarios) así que para eso abro otro post