Разъяренные пользовательские запросы в Google App Engine - PullRequest
3 голосов
/ 02 февраля 2012

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

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

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

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

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

1 Ответ

1 голос
/ 23 октября 2013

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

из здесь :

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

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

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

---- РЕДАКТИРОВАТЬ ----

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...