AppEngine DB 通过电子邮件地址获取用户

Posted

技术标签:

【中文标题】AppEngine DB 通过电子邮件地址获取用户【英文标题】:AppEngine DB get user by email address 【发布时间】:2011-03-04 08:02:38 【问题描述】:

我有一个简单的 appengine 应用程序,它在数据存储中保存一些数据,其中一个字段是从登录用户创建的 UserProperty。

当用户发送 XMPP 消息时,我需要能够取回该数据,我从 XMPP 发件人那里获得了他们的电子邮件地址,但是当我尝试查询数据存储中的对象时,我没有返回任何结果。 代码如下:

class Users(db.Model):
user = db.UserProperty()
accesstoken = db.StringProperty()
refreshtoken = db.StringProperty()
expires = db.IntegerProperty()
created = db.DateTimeProperty(auto_now_add=True)



class XmppHandler(webapp.RequestHandler):
def post(self):
    message = xmpp.Message(self.request.POST)
    rcpt = self.request.get('to').split("@")[0]
    orig = self.request.get('from').split("/")[0]
    text = self.request.get('body')
    query = Users.all()
    query.filter("user =", orig)
    r = query.get()
    authheader = "OAuth " + r.accesstoken

【问题讨论】:

【参考方案1】:

解决了,创建我使用的用户对象

 u = users.User(email=orig)

然后我可以按该用户对象进行过滤:

class XmppHandler(webapp.RequestHandler):
    def post(self):
        message = xmpp.Message(self.request.POST)
        rcpt = self.request.get('to').split("@")[0]
        orig = self.request.get('from').split("/")[0]
        text = self.request.get('body')
        u = users.User(email=orig)
        query = Users.all()
        query.filter("user =", u)
        r = query.get()
        authheader = "OAuth " + r.accesstoken

【讨论】:

以上是关于AppEngine DB 通过电子邮件地址获取用户的主要内容,如果未能解决你的问题,请参考以下文章

关注 AppEngine 上的数据存储模型结构 - 按日期排序关注者

如何通过iOS中的Twitter API获取用户电子邮件地址?

是否可以为 appengine 数据存储实体获取 Google 电子表格的数据源 URL?

Android Facebook通过访问令牌获取登录的电子邮件地址

如何在 Excel 中获取登录用户的电子邮件地址

如何使用他们的电子邮件地址获取用户的详细信息