Я не уверен, почему это не работает для вас, у следующего нет проблем, когда я запускаю его в консоли разработчика.
from google.appengine.ext import db
from google.appengine.api import users
user = users.get_current_user()
name = user.user_id()
print db.Key.from_path ('User', name)
Однако, если вы его хешируете (что звучиткак вы можете быть), имейте в виду, что вы можете столкнуться.Я бы не стал использовать хеш и рассмотрел бы некоторые другие способы анонимизации, если вы даете ключ клиентам.Например, другая модель, ключ которой вы можете отдать, в которой хранится ключ пользователя.Другим методом будет шифрование id
(используя один и тот же ключ для всех пользователей), а не его хеширование.
Если вы делаете что-то, что генерирует ядро приложения двоичных данных (шифрование / хэширование) (sdkпо крайней мере) имеет проблемы, поэтому вам нужно сначала закодировать его и использовать его в качестве имени ключа.
name = user.user_id()
hashed_name = hashlib.sha1(name).digest()
encoded_name = base64.b64encode (name)
db.Key.from_path ('User', encoded_name)