예제 #1
0
        private void ExtraerTokenAccesoDesdeUrl(string url)
        {
            if (url.Contains("access_token") && url.Contains("&expires_in="))
            {
                Content = null;

                var at = url.Replace("http://localhost/#access_token=", "");

                if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)                 //VER
                {
                    at = url.Replace("http://localhost/#access_token=", "");
                }

                if (!url.Contains("&noActualizarFecha"))
                {
                    //Expira en 1 hora, por las dudas, lo actualizamos a los 55 minutos para evitar potencial desfasaje en el horario del servidor.
                    var fechaExpiracion = DateTime.Now.AddMinutes(55);
                    CuentaUsuario.AlmacenarFechaExpiracionToken(fechaExpiracion);
                }
                var tokenDeAcceso = at.Remove(at.IndexOf("&token_type="));

                CuentaUsuario.AlmacenarTokenDeGoogle(tokenDeAcceso);

                //Recuperar el nombre de usuario para el historial de movimientos
                if (string.IsNullOrEmpty(CuentaUsuario.ObtenerNombreUsuarioGoogle()))
                {
                    RecuperarNombreUsuarioGoogle(tokenDeAcceso);
                }
                //A partir de la procedencia determinar si irá hacia la página de grilla o hacia la de libros
                DeterminarProcesoParaCargaDatos(tokenDeAcceso);
            }
        }