2012-07-04 26 views
16

Estoy haciendo una aplicación con la API de Google Maps. Quiero poder tener una persona en una computadora, ver lo que otra persona ha editado en un mapa. Estoy pensando en pasar información del mapa a Google Fusion Table. La otra persona podrá ver todo como una capa. Me gustaría que el programa simplemente se ejecute desde el navegador del usuario y no construir un sitio web para él.Corregir el URI de redirección para Google API y oauth 2.0

Para editar las tablas de fusión, necesito obtener acceso/tokens. Actualmente estoy tratando de usar estos guiones javascript para lograr esto. ScriptSample.html, oauthWindow.html y gwt-oauth2.js. Este es el working example.

Cuando los ejecuto, aparece el error am que dice que redirect_URI es incorrecto. Dice que el archivo que utilizo para redirigir no tiene autoridad. Mi primera pregunta obvia es: ¿cómo le doy a ese archivo la autoridad para redirigir?

En mi consola API, lo tengo configurado como una aplicación web del lado del cliente. ¿Debo cambiarlo a una aplicación instalada?

Actualmente, mi origen, JavaScript es: https: // localhost

URI de redireccionamiento: https: //localhost/oauthWindow.html

Gracias

+2

¿Habla en serio usando un URI de devolución de llamada basado en host local? Significa que el servidor OAuth debe enviar la respuesta a sí mismo, lo que no tiene sentido. Definitivamente debe usar alguna URL accesible desde la red externa. –

+2

Lo siento, estaba equivocado, tengo que corregirme a mí mismo. Los URI de devolución de llamada se utilizan solo para redireccionar su navegador con el resultado de la autorización, por lo que un URI de devolución de llamada basado en el localhost podría funcionar en teoría. Por otro lado, tiene serios problemas de seguridad, lo que hace que todo el método de verificación de retorno de llamada URI carezca de sentido. Como consecuencia, aún debe proporcionar una devolución de llamada accesible desde el exterior. –

+0

Tengo problemas con esto también. Por algún motivo súper extraño, Google ha decidido que mi url de redirección, que es 'https: // algo', debería convertirse en' http: // algo'. Esto es horrible porque mi servidor tiene un requisito estricto de ssl/https, sin excepciones. – Automatico

Respuesta

12

no hay ningún problema con el uso de una URL localhost para Trabajo de revelado: obviamente, debe cambiarse en lo que respecta a la producción.

Tienes que ir aquí: https://developers.google.com/accounts/docs/OAuth2 y siga el enlace de la consola API - enlace en la sección Pasos básicos. Cuando haya completado el nuevo formulario de solicitud, se le pedirá que proporcione una URL de redireccionamiento. Ingrese en la página a la que desea ir una vez que se haya otorgado el acceso.

Al formar la Url de Google oAuth, debe incluir la url de redireccionamiento, tiene que ser una coincidencia exacta o tendrá problemas. También necesita ser UrlEncoded.

+0

Entonces, si quiero redireccionar a una página alojada en local, digamos - localhost: 9090/index.html doy esta url exacta? – moaglee

+1

@mystikacid sí. También debe incluir la parte 'http: //' (protocolo) – PSWai

Cuestiones relacionadas