通过user_id获取Google App Engine用户

Bri*_*unt 11 google-app-engine

GAE中,你User能用User对象查找user_id吗?

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

from google.appengine.api.users import User

user = User.get_by_id(user_id)
Run Code Online (Sandbox Code Playgroud)

lah*_*her 8

我不这么认为....他们当然不会只让您访问谷歌帐户的每个持有人!

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

有一个名为UserProperty的属性类型

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

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

心连心


aru*_*mar 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 指的是访问所有谷歌帐户,因为返回的 User 对象只有电子邮件地址和昵称,而且只有当用户授权应用程序访问该信息时才会如此。

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

  • User(_user_id = 'validuserid') 始终返回当前用户,无论 _user_id 是否相等。 (3认同)