「Google App Engine webapp ユーザーサービス」の版間の差分
ナビゲーションに移動
検索に移動
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | ==Google App Engine webapp ユーザーサービス== | + | ==[[Google App Engine webapp ユーザーサービス]]== |
− | [[Google App Engine]][[Python]] | + | [[Google App Engine]] | [[Python]] | |
*http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/usingusers.html | *http://code.google.com/intl/ja/appengine/docs/python/gettingstarted/usingusers.html | ||
=====実装===== | =====実装===== | ||
− | [[ | + | {{ref_image userser[[vi]]ce01.jpg}} |
import wsgiref.handlers | import wsgiref.handlers | ||
11行目: | 11行目: | ||
from google.appengine.ext import webapp | from google.appengine.ext import webapp | ||
− | class MainPage(webapp. | + | class MainPage(webapp.[[R]]equestHandler): |
def get(self): | def get(self): | ||
# ユーザーがアプリケーションにログインしている場合、 | # ユーザーがアプリケーションにログインしている場合、 | ||
21行目: | 21行目: | ||
else: | else: | ||
# ユーザーがログインしていない場合、ユーザーのブラウザを | # ユーザーがログインしていない場合、ユーザーのブラウザを | ||
− | # Google アカウントのログイン ページにリダイレクトするように指示 | + | # [[Google]] アカウントのログイン ページにリダイレクトするように指示 |
− | # リダイレクトには、このページへの | + | # リダイレクトには、このページへの U[[R]]L (self.request.uri) が |
− | # 含まれているため、ユーザーは Google アカウント ログイン | + | # 含まれているため、ユーザーは [[Google]] アカウント ログイン |
# システムにより、ログインまたは新規アカウントの作成後、このページへ戻される | # システムにより、ログインまたは新規アカウントの作成後、このページへ戻される | ||
self.redirect(users.create_login_url(self.request.uri)) | self.redirect(users.create_login_url(self.request.uri)) | ||
38行目: | 38行目: | ||
=====実行===== | =====実行===== | ||
ダミーログインページが表示された(ローカルテスト環境のため) | ダミーログインページが表示された(ローカルテスト環境のため) | ||
− | + | リリース後は、[[Google]]のログインページが表示されるはず。 | |
− | [[ | + | {{ref_image userser[[vi]]ce02.jpg}} |
ユーザー固有のメッセージ表示 | ユーザー固有のメッセージ表示 | ||
− | [[ | + | {{ref_image userser[[vi]]ce03.jpg}} |
2020年2月16日 (日) 04:26時点における最新版
Google App Engine webapp ユーザーサービス
実装
{{ref_image userservice01.jpg}}
import wsgiref.handlers from google.appengine.api import users from google.appengine.ext import webapp class MainPage(webapp.RequestHandler): def get(self): # ユーザーがアプリケーションにログインしている場合、 # ユーザーの User オブジェクトを返す user = users.get_current_user() if user: self.response.headers['Content-Type'] = 'text/plain' self.response.out.write('Hello,' + user.nickname()) else: # ユーザーがログインしていない場合、ユーザーのブラウザを # Google アカウントのログイン ページにリダイレクトするように指示 # リダイレクトには、このページへの URL (self.request.uri) が # 含まれているため、ユーザーは Google アカウント ログイン # システムにより、ログインまたは新規アカウントの作成後、このページへ戻される self.redirect(users.create_login_url(self.request.uri)) def main(): application = webapp.WSGIApplication( [('/', MainPage)], debug=True) wsgiref.handlers.CGIHandler().run(application) if __name__ == "__main__": main()
実行
ダミーログインページが表示された(ローカルテスト環境のため) リリース後は、Googleのログインページが表示されるはず。 {{ref_image userservice02.jpg}} ユーザー固有のメッセージ表示 {{ref_image userservice03.jpg}}
© 2006 矢木浩人