如何从GAE中的电子邮件中获取用户ID

时间:2011-10-28 18:49:57

标签: python google-app-engine google-cloud-datastore gdata-api gdata

我正在制作一个小应用,允许用户登录应用,允许应用OAuth访问服务,然后通过电子邮件使用应用与服务进行互动。

我已经使用gdata和gdata.gauth成功启用了Oauth,并且可以在用户登录时轻松存储/恢复Oauth令牌和user_id。

但是,在收到电子邮件时,我尝试通过创建users.User(email="senders.email@gmail.com")获取user_id,但最终获得user_id的None值。

即:

登录时

current_user = users.get_current_user()
current_user.user_id() #this is a valid id when the user is logged in

收到电子邮件时(使用邮件处理程序):

current_user = users.User(email="sender.email@gmail.com")
current_user.user_id() #this returns None

有关如何使这项工作的任何提示?

1 个答案:

答案 0 :(得分:1)

阅读http://code.google.com/appengine/docs/python/users/userclass.html#User

在方法调用user_id下,请注意,如果您自己创建User对象,则user_id字段将返回None。