【发布时间】:2012-02-24 15:07:27
【问题描述】:
我在 Google 的 App Engine 上有一个网络服务,它使用 Google 的用户 API 来验证用户、管理帐户(包括高级服务订阅)和管理数据所有权。对于几乎所有东西,它都非常有效。
但是,我经常需要使用数据存储查看器来检查用户的条目以响应支持请求,并且需要输入 GQL 来查找某人的帐户信息。查询通常如下所示:
SELECT * FROM UserAttr WHERE user = USER('blah@fish.com')
这应该可以正常工作,但无论出于何种原因,上面的 USER 构造函数 (?) 区分大小写,此外,如果用户拥有一个带有 @987654322 的 Google 帐户,有时会出现奇怪的行为@ 地址。如果是gmail.com 地址,有时 USER('whoever@gmail.com') 有效,但有时 USER('whoever') 有效。令人抓狂的是,我不得不在 GQL 控制台中尝试各种不同的排列来尝试查找内容,如果明显的大小写差异不起作用,我通常会放弃。
我在这里做错了什么,还是这个行为真的这么糟糕?知道这种事情在 Python API 中是否能更好地工作(也就是说,如果我通过 Python 发出类似的请求,它还会表现出这种愚蠢的行为吗?)。如果我可以让 Google 的仪表板为我工作,我想避免为此应用编写自己的管理页面。
【问题讨论】: