Exasperantes consultas de los usuarios en App Engine de Google

Tengo un servicio web en App Engine de Google que utiliza la API de usuario de Google para autenticar usuarios, administrar cuentas (incluidas las suscripciones a servicios premium) y administrar la propiedad de los datos. Para casi todo, funciona muy bien.

Sin embargo, muy a menudo necesito usar el visor del almacén de datos para verificar la entrada de un usuario en respuesta a una solicitud de soporte, y necesito ingresar GQL para buscar la información de la cuenta de alguien. La consulta suele tener este aspecto:

SELECT * FROM UserAttr WHERE user = USER('blah@fish.com')

Esto debería funcionar bien, pero por alguna razón, el constructor USER (?) Anterior es distingue mayúsculas y minúsculasy, además, a veces tiene un comportamiento extraño si el usuario tiene una cuenta de Google con una gmail.com Dirección. Si es un gmail.com dirección, a veces USER('whoever@gmail.com') funciona, pero a veces USER('whoever') obras. Es enloquecedor tener que probar todo tipo de permutaciones diferentes en la consola GQL para intentar buscar cosas, y generalmente me rindo si las diferencias obvias entre los casos no funcionan.

¿Estoy haciendo algo totalmente mal aquí, o el comportamiento de esto es realmente tan malo? Alguna idea de si este tipo de cosas funciona mejor en la API de Python (es decir, si hago una solicitud similar a través de Python, ¿seguirá presentando este comportamiento idiota?). Me gustaría evitar escribir mis propias páginas de administración para esta aplicación, si puedo hacer que el panel de control de Google funcione para mí.

preguntado el 01 de febrero de 12 a las 22:02

1 Respuestas

Tengo el mismo problema, descubrí que Google no recomienda almacenar usuarios en el almacén de datos en absoluto, ya que la dirección de correo electrónico podría cambiar:

desde aquí:

Las bibliotecas db y NDB tienen tipos de propiedad UserProperty para que las aplicaciones puedan almacenar valores de usuario. Sin embargo, dado que estos valores dejan de ser válidos cuando los usuarios cambian la dirección de correo electrónico, la mayoría de las aplicaciones no tienen un buen uso para esta función.

probablemente también se refieren a cuando la representación del usuario cambia internamente.

Te avisaré si encuentro algo para resolver esto.

---- EDITAR ----

aquí recomiendan almacenar la identificación del usuario por el bien de consultas y comparaciones. tiene sentido...

Respondido 23 Oct 13, 15:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.