h2ospace

Google App Engine: Googleアカウントでログインする

2010-03-04 01:39:08

訳あって Google App Engineを勉強しています。Pythonは、なかなかクセがありますが、慣れると面白そうな言語ですね。

Google App Engineでの開発の場合は、専用のフレームワークが準備されているため、Googleの提供する機能を簡単に使えるというのも魅力的です。
例えば、Googleアカウントを使ってログインする仕組みを提供するには、こんなプログラムを書くだけでOK。

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, ' + 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.appengine.api」から「users」というライブラリをインポートして、「get_current_user」で、Googleアカウントを取得します。

もしも、ログインされていない場合は「create_login_url」で、ログイン画面に移動させ、ログインしていたら「nickname」でニックネームを表示するというプログラムです。

他にもこんな機能があります。

ログインのしくみを作らなくて良いですし、ユーザーはIDやパスワードの管理が煩雑にならず、一石二鳥ですね。素敵です。

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ