相关疑难解决方法(0)

如何根据App Engine中的电子邮件地址确定user_id?

最新的App Engine SDK(1.2.1)具有API调用,用于根据用户帐户的电子邮件地址计算用户帐户的ID.(即使用户稍后更改了地址,ID仍保持不变.)有关信息的唯一,不透明用户ID,请参阅此问题.但是,我有这个API调用的问题.

user_id()适用于登录用户(即从users.get_current_user),但它返回Noneusers.User()构造函数创建的对象.**什么给出?

例如,使用优秀的App Engine控制台,此代码不起作用.

>>> import google.appengine.api.users
>>> me = google.appengine.api.users.get_current_user()
>>> me
users.User(email='jason.h.smith@gmail.com',_user_id='105261964646342707921')
>>> me.user_id()
'105261964646342707921'
>>> somebody = google.appengine.api.users.User('someone@gmail.com')
>>> somebody
users.User(email='someone@gmail.com')
>>>somebody.user_id()
>>> type(somebody.user_id())
<type 'NoneType'>
Run Code Online (Sandbox Code Playgroud)

我想要一种简单的方法将电子邮件地址转换为用户ID. 我怎样才能提前从Google强制提供此ID; 或者如果不可能,为什么不呢?

编辑:这是当前的解决方法.

感谢Nick Johnson的回答.以下是他的解决方案:

>>> from google.appengine.ext import db
>>> from google.appengine.api import users
>>> class User(db.Model):
...   user = db.UserProperty(required=True)
...
>>> def email_to_userid(address):
...   """Return a stable user_id string based …
Run Code Online (Sandbox Code Playgroud)

email google-app-engine user-identification

13
推荐指数
1
解决办法
3183
查看次数