| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Google App Engine webapp ユーザーサービス

提供: MyMemoWiki
2020年2月16日 (日) 04:26時点におけるPiroto (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Google App Engine webapp ユーザーサービス

Google App Engine | Python |

実装

{{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}}