Pues si gran dilema. Como muchos sabréis App Inventor nos provee de un Componente para poder acceder a tablas Fusion de Google. Así que sin más me decidí a a utilizarlo con mi App F1Show 2012. Las utilizo para actualizar los datos de las carreras y clasificaciones del programa y tan feliz...
Así que una vez implementados me decido a probarlos ..y genial con mi wifi iban de perlas. El problema surgió cuando empecé a probar las actualizaciones en dispositivos con conexión a Internet a través de paquetes de datos 3G. Casi ninguno se actualizaba. El dialogo de Fusion Tables se quedaba colgado y sin una respuesta! Empecé a leer un poco y enseguida me di cuenta que la mayoría de los operadores capan puertos en las conexiones 3G con lo que la recepción de información a través de este componente era inservible.
Y ahora que. Pues sin perder tiempo me dedique a investigar en la API de Google para autenticación de aplicaciones a través de ClientLogin e incorporé este método usando los componentes WEB que nos proporciona App Inventor.
Que demonios es el acceso a través de ClientLogin. Aquí os pongo un gráfico que intentaré explicar. La Autorización con ClientLogin implica una secuencia de interacciones entre tres entidades: las aplicaciones, los servicios de Google, y el usuario. Este diagrama ilustra la secuencia:
El proceso de autorización ClientLogin
- Cuando la aplicación de terceros tiene que acceder al servicio de un usuario de Google, recupera el nombre del usuario y la contraseña de inicio de sesión.
- La aplicación de terceros a continuación, realiza una llamada al servicio de autorización de ClientLogin de Google.
- Si el servicio de autorización de Google decide poner un impedimento (veto) adicional, devuelve respuesta de fallo con un token CAPTCHA , en forma de una dirección URL para una imagen CAPTCHA.
- Si se recibe el token CAPTCHA la aplicación de terceros muestra la imagen CAPTCHA a el usuario y solicita una respuesta por parte de este.
- El usuario envía una respuesta al desafío CAPTCHA.
- La aplicación hace una nueva llamada ClientLogin, esta vez incluyendo la respuesta CAPTCHA .
- En una conexión con éxito (con o sin desafío CAPTCHA), el servicio de autorización de Google devuelve un token Auth a la aplicación.
- la aplicación entonces ejecuta una solicitud de acceso a los datos, haciendo referencia al token Auth recibido desde el servicio de autorizaciones de Google.
- Si el servicio de autorizaciones Google reconoce la contraseña, proporciona el acceso a los datos solicitados.
Vale. Y ahora como llevamos todo esto a App Inventor. Pues sencillo. Lo veremos en la Parte 2 de este artículo. Os enseñaré como hacerlo y que funcione....
Hola a mi me pasa lo mismo ya que paso el paquete de instalacion al Telefono con Android ejecuto los table fusion y se queda colgado. :( muy diferente a cuando usas el emulador.
ResponderEliminarVi tu Sample con los Web components y te Felicito me parece super bueno. Solo que no me funciona cuando quiero hacer INSERT, UPDATE, IMPORT etc ya que me dice que es necesario usar un metodo POST y el metodo GET es solo para consultar. Tu como hacer para hacer INSERCCIONES de Datos?