Google App Engine 中的“用户”子模块使用“Google 帐户”而不是“G+”登录。基本ID是否相同?我想将他们的登录与我自己的用户记录相关联...
3 回答
我会说它们不是一回事,但是是的,您可以将它们关联起来。
如果您已使用 GAE(或 Android)内置的基本 Google 帐户(用户)支持来验证用户,那么您将拥有他们的电子邮件地址,该地址唯一地标识了他们的 google 帐户。
在 Google+ 上,使用电子邮件范围访问他们的电子邮件地址:
https ://developers.google.com/+/api/oauth#email-scopes
这些电子邮件地址应该匹配,这样您就可以关联 Google 和 Google+ 帐户。这种方法 IMO 的缺点是,如果您还没有请求 g+ 电子邮件范围,那么您将不得不添加它。
如果你问的是身份证...
具体来说:
使用
user = users.get_current_user()
返回一个用户对象,这不是您所指的(关于您的评论)
这user_id()
就是您为用户 api 引用的内容:
user = users.get_current_user()
user.user_id()
从文档
If the email address is associated with a Google account, user_id returns the unique permanent ID of the user, a str. This ID is always the same for the user regardless of whether the user changes her email address.
If the email address is not associated with a Google account, user_id returns None.
现在根据我的经验,我的 GoogleIDuser_id()
和xxx8005350796570706xx
我的 Google Plus 个人资料 ID 是102445631084043565507
完全不同的。我还用我的应用程序和 Google + 已知的追随者检查了这一点,发现没有相似之处。
您应该创建一个自己的用户模型,其中包含有关注册用户的信息。使用 users.get_current_user() 您可以从用户 google 帐户获取电子邮件地址并将他登录到应用程序。