我在Google的App Engine上有一个网络服务,它使用Google的用户API来验证用户身份,管理帐户(包括高级服务订阅)以及管理数据所有权。对于几乎所有的东西,它的效果非常好。
但是,我经常需要使用数据存储区查看器来检查用户的条目以响应支持请求,并且需要输入GQL来查找某人的帐户信息。查询通常如下所示:
SELECT * FROM UserAttr WHERE user = USER('blah@fish.com')
这应该可以正常工作,但无论出于何种原因,上面的USER构造函数(?)都是区分大小写的,而且,如果用户的Google帐户有{{{},则有时会出现奇怪的行为。 1}}地址。如果是gmail.com
地址,有时 gmail.com
有效,但有时 USER('whoever@gmail.com')
有效。令人发狂的是,我必须在GQL控制台中尝试各种不同的排列来尝试查看内容,如果明显的案例差异不起作用,我通常会放弃。
我在这里做了一些完全错误的事情,还是这种行为真的很糟糕?任何想法,如果这种事情在Python API中运行得更好(也就是说,如果我通过Python做类似的请求,它仍会表现出这种愚蠢的行为吗?)。如果我能让Google的仪表板为我工作,我想避免为这个应用程序编写我自己的管理页面。