通过user_id获取Google App Engine用户

时间:2010-06-22 22:05:47

标签: google-app-engine

GAE中,您可以使用用户对象user_id查找User吗?

换句话说,是否有相当于:

的东西
from google.appengine.api.users import User

user = User.get_by_id(user_id)

2 个答案:

答案 0 :(得分:8)

我不这么认为。 ......他们当然不会只允许您访问Google帐户的每个持有者!

我们的想法是,一旦用户ID登录到您的应用,就会将其存储为数据存储中的属性。

有一种名为UserProperty的属性类型

http://code.google.com/appengine/docs/python/datastore/typesandpropertyclasses.html

因此,您可以从自己的数据存储定义中查询用户列表。

HTH

答案 1 :(得分:4)

这似乎是互联网上关于这一点的唯一帖子,因为我正在寻找解决方案,我想我会发布我在这里发现的内容。

amir75关于使用UserProperty的说法很适合存储google.appengine.users模块返回的User对象本身。

但是,如果您需要通过user_id字段而不是默认电子邮件字段查找用户,通常是user = User(email = 'validmail@gmailorgapps.com')

您可以使用此按user_id进行查询。 user = User(_user_id = 'validuserid')有效的user_id是您在调用user.user_id()

之前获得的内容

我不确定amir75指的是有关访问所有Google帐户的内容,因为返回的User对象只会包含电子邮件地址和昵称,而且只有当用户授权应用程序访问该信息时才会这样。

我的用例是我希望人们在网站上注册,但是他们需要管理员来确认他们使用该网站。管理员用于确认用户的表单可以使用电子邮件ID作为字段来标识用于确认用户的复选框,但鉴于可能更改,user_id似乎是一个更安全的字段