2012-02-01 4 views
3

У меня есть веб-сервис в Google App Engine, который использует API-интерфейс Google для аутентификации пользователей, управления учетными записями (включая подписки на премиальные услуги) и для управления владением данными. Для почти всего, он отлично работает.Беспокойство запросов пользователей в Google App Engine

Однако очень часто мне нужно использовать средство просмотра хранилища данных, чтобы проверить запись пользователя в ответ на запрос поддержки, и вам нужно ввести GQL для поиска информации о чьей-то учетной записи. Запрос обычно выглядит следующим образом: (?)

SELECT * FROM UserAttr WHERE user = USER('[email protected]') 

Это должно работать нормально, но по какой-либо причине, конструктор USER выше чувствителен к регистру, и, кроме того, иногда имеет странное поведение, если пользователь имеет Учетная запись Google с адресом gmail.com. Если это gmail.com адрес, иногдаUSER('[email protected]') работ, но иногдаUSER('whoever') работы. Это безумие, что я должен попробовать всевозможные перестановки в консоли GQL, чтобы попытаться просмотреть все, и я обычно отказываюсь, если очевидные различия в случае не работают.

Я делаю что-то совершенно неправильное здесь, или поведение этого действительно так плохо? Любая идея, если эта вещь работает лучше в Python API (то есть, если я сделаю аналогичный запрос через Python, будет ли она по-прежнему демонстрировать это идиотское поведение?). Я бы хотел, чтобы не писать собственные страницы администратора для этого приложения, если я могу сделать панель инструментов Google для меня.

ответ

1

У меня такая же проблема, я понял, что Google не рекомендует пользователям хранящие в хранилище данных на всех, как адрес электронной почты может измениться:

из here:

И библиотеки db и NDB имеют типы свойств UserProperty, так что приложения могут хранить пользовательские значения. Однако, поскольку эти значения становятся недействительными, когда пользователи меняют адрес электронной почты, в большинстве приложений нет .

они, вероятно, также означают, что внутреннее представление пользователя изменяется.

Я дам вам знать, если я найду что-нибудь, чтобы решить эту

---- EDIT ----

here они рекомендуют хранить ID пользователя для запросов и сравнений. имеет смысл ...

Смежные вопросы