问题 通过user_id获取Google App Engine用户


GAE你能抬头看看吗? User 使用User对象 user_id

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

from google.appengine.api.users import User

user = User.get_by_id(user_id)

6183
2018-06-22 22:05


起源



答案:


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

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

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

您可以使用它来按user_id进行查询。 user = User(_user_id = 'validuserid') 有效的user_id是您之前通过调用获得的内容 user.user_id()

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

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


4
2017-10-07 20:58



用户(_user_id ='validuserid')始终返回当前用户,无论_user_id是否相等。 - waigani
同意waigani。它只使用返回当前用户的默认构造函数。 - Sebastien


答案:


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

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

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

您可以使用它来按user_id进行查询。 user = User(_user_id = 'validuserid') 有效的user_id是您之前通过调用获得的内容 user.user_id()

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

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


4
2017-10-07 20:58



用户(_user_id ='validuserid')始终返回当前用户,无论_user_id是否相等。 - waigani
同意waigani。它只使用返回当前用户的默认构造函数。 - Sebastien


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

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

有一个名为UserProperty的属性类型

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

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

心连心


8
2018-06-22 22:20



伟大的重点。访问。 - Brian M. Hunt