Note that there are some explanatory texts on larger screens.

plurals
  1. POInfuriating user queries on Google's App Engine
    primarykey
    data
    text
    <p>I have a web service on Google's App Engine that uses Google's user API for authenticating users, managing accounts (including premium service subscriptions), and for managing data ownership. For almost everything, it works really great.</p> <p>However, very often I need to use the datastore viewer to check on a user's entry in response to a support request, and need to enter GQL to look up someone's account info. The query usually looks like this:</p> <pre><code>SELECT * FROM UserAttr WHERE user = USER('blah@fish.com') </code></pre> <p>This should work just fine, but for whatever reason, the USER constructor (?) above is <em>case sensitive</em>, and furthermore, sometimes has weird behavior if the user has a Google account with a <code>gmail.com</code> address. If it's a <code>gmail.com</code> address, <strong>sometimes</strong> <code>USER('whoever@gmail.com')</code> works, but <strong>sometimes</strong> <code>USER('whoever')</code> works. It's maddening that I have to try all kinds of different permutations in the GQL console to try and look things up, and I usually give up if the obvious case differences don't work.</p> <p>Am I doing something totally wrong here, or is the behavior of this really this bad? Any idea if this kind of thing works better in the Python API (that is, if I do a similar request via Python, will it still exhibit this idiotic behavior?). I'd like to avoid writing my own admin pages for this app, if I can make Google's dashboard work for me.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload