我们来使用用户服务个性化此应用程序的问候语。

使用 User

再次编辑 helloworld/helloworld.py

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
class MainPage(webapp.RequestHandler):
def get(self):
user = users.get_current_user()
if user:
self.response.headers['Content-Type'] = 'text/plain'
#self.response.out.write('Hello, webapp World!')
self.response.out.write('Hello, ' + user.nickname())
else:
self.redirect(users.create_login_url(self.request.uri))

application = webapp.WSGIApplication([('/', MainPage)],debug=True)

def main():
run_wsgi_app(application)

if __name__ == "__main__":
main()

在您的浏览器中重新加载该页面。应用程序会将您重定向到适用于测试应用程序的 Google 登录页面的本地版本。您可以在该屏幕中输入自己喜欢的任何用户名,应用程序会基于该用户名发现伪造 User 对象。

当应用程序在 App Engine 上运行时,用户会被定向到 Google 帐户登录页面,然后在成功登录或创建帐户后重定向到应用程序。

用户 API

我们来仔细了解一下用户 API 的新内容:

user = users.get_current_user()

如果用户已登录到您的应用程序,get_current_user() 将为用户返回 User 对象。否则,它会返回 None

if user:   
  self.response.headers['Content-Type'] = 'text/plain'
  self.response.out.write('Hello, ' +user.nickname())

如果用户已登录,将使用与用户的帐户关联的昵称显示个性化的消息。

else:
self.redirect(users.create_login_url(self.request.uri))
如果用户尚未登录,则通知 webapp 将用户的浏览器重定向到 Google 帐户登录屏幕。这种重新定位包括本页面的网址 (self.request.uri),因
此用户登录或注册了新帐户后,Google 帐户登录机制会引导用户返回到此处。

转载于:https://www.cnblogs.com/allenblogs/archive/2011/04/15/2016874.html

与Google用户帐户集成相关推荐

  1. gmail账户_Android中的Google帐户集成–使用Gmail登录

    gmail账户 你好朋友, 这是我的文章,内容是Google帐户与您的应用程序集成,使用gmail登录,使用Google帐户注册. 以下是一些重要的步骤- 第1步-创建一个新项目,例如GooglePr ...

  2. iphone 同步灰色_如何将我的iPhone中的联系人与Google Gmail帐户同步

    iphone 同步灰色 How to Sync the Contacts in My iPhone with Google Gmail Account? 如何将我的iPhone中的联系人与Google ...

  3. 谷歌云端硬盘 转存_如何合并多个Google云端硬盘和Google相册帐户

    谷歌云端硬盘 转存 It isn't possible to merge Google accounts directly, making it tricky to move your data fr ...

  4. 将最小特权原则应用到 Windows XP 上的用户帐户

    将最小特权原则应用到 Windows XP 上的用户帐户 发布日期: 2006年07月03日 若要查看有关本指南的评论或讨论,请访问 [url]http://blogs.technet.com/sec ...

  5. 将最小特权原则应用到Windows XP用户帐户

    引言 联网技术的最新发展(如与 Internet 间的永久连接)给各种规模的组织带来了极大的机遇.不幸的是,计算机与网络(尤其是 Internet)之间的连接增加了遭到恶意软件和外部攻击者攻击的风险, ...

  6. 如何使用 UserAccountControl 标志操纵用户帐户属性

    转载: http://support.microsoft.com/kb/305144 概要 在打开用户帐户的属性后,单击帐户选项卡,然后选中或清除"帐户选项"对话框中的复选框,则会 ...

  7. 设置本地用户帐户的过期日期

    描述 绑定到名为 atl-win2k-01 的计算机上的本地用户帐户,并且将帐号配置为在 2003 年 3 月 1 日过期. 有关使用本地用户帐户的详细信息,请单击此处. 支持平台 Windows X ...

  8. 必须重启计算机才能关闭用户控制,Win10如何彻底关闭用户帐户控制?Win10关闭用户控制方法...

    用户帐户控制,可以限制一些病毒程序运行,有效保护电脑安全,降低中毒的风险,一般启用用户帐户控制,对于执行程序会多了一个步骤,就是要多点一些用户帐户控制的提示窗口,允许用户执行程序.那么如何可以彻底关闭 ...

  9. TF31003:您的用户帐户没有连接到 Team Foundation Server 的权限

    TF31003:您的用户帐户没有连接到 Team Foundation Server {0} 的权限.请与 Team Foundation Server 管理员联系,请求其向您的帐户添加适当的权限. ...

最新文章

  1. 广东电网计算机考试,考点爆料!2019广东电网计算机专业居然考这些!
  2. 线段树区间扫描线超详解,一篇文章搞懂扫描线
  3. binlog数据库不写入binlog_mysql 为什么不能仅仅用 binlog 保证不丢数据
  4. OpenCV-图像的基本操作-01
  5. 软件设计中的抽象层次
  6. mysql+after+commit_P8级面试难题,after_sync vs after_commit,哪个性能更好?
  7. (32)System Verilog模块调用包中类的方法
  8. 什么是云存储 API
  9. linux 下sqlplus里无法使用方向键的解决
  10. 简述MAC地址与IP地址的关系
  11. centos安装pip失败:No package pip available.
  12. The delay-doppler Channel Symbol Coupling(延迟-多普勒信道符号耦合)(6)
  13. 初创团队如何快速获取种子用户,引爆用户核反应堆?
  14. vue 使用iframe展示pdf文件
  15. (二)office2016-excel冻结窗格
  16. 21. 查询表sc——查询平均成绩大于等于90分的学生学号和平均成绩
  17. 内蒙古中医药杂志内蒙古中医药杂志社内蒙古中医药编辑部2022年第4期目录
  18. 游戏开发unity杂项知识系列:Failed to resolve project template:Failed to decompress
  19. 字符串format拼接格式化
  20. 春节临近 动物享用水果大餐

热门文章

  1. 学习python用哪个app-Python和R:学哪个好?
  2. python下载大文件-python 大文件
  3. python语言入门书籍推荐-入门python有什么好的书籍推荐?
  4. python读取文件多行内容-Python读取文件、大文件和指定行内容的几种方法
  5. python导入txt为dataframe-Python提取TXT数据转化为DataFrame
  6. python快速编程入门例题-python编程入门知识练习
  7. python趣味编程10例-python趣味编程100例(99个)
  8. pecl.php.net,WARNING: channel pecl.php.net has updated its protocols, use pecl channel-update pec...
  9. LeetCode Remove Linked List Elements
  10. qt连接mysql提示QMYSQL driver not loaded