Top / GoogleAppEngine / Googleアカウントへアクセスする

Google App EngineはGoogleのいろんなAPIを用いてアプリケーションを書くことができます。ユーザー サービスの使用 - Google App Engine ― Google Developers を参考に、アプリを使用しているユーザのGoogleアカウントにアクセスしてみます。

ソースコード

package nu.mine.kino.gae;

import java.io.IOException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;

@SuppressWarnings("serial")
public class GaeExamplesServlet extends HttpServlet {
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {
        resp.setContentType("text/plain");
        resp.getWriter().println("Hello, world");

        UserService userService = UserServiceFactory.getUserService();
        User user = userService.getCurrentUser();

        if (user != null) {
            resp.setContentType("text/plain");
            resp.getWriter().println("Nick Name, " + user.getNickname());
            resp.getWriter().println("Email, " + user.getEmail());
            resp.getWriter().println("UserId, " + user.getUserId());
            resp.getWriter().println("Auth Domain, " + user.getAuthDomain());
        } else {
            resp.sendRedirect(userService.createLoginURL(req.getRequestURI()));
        }

    }
}

保存し、ローカルで実行してみます。もちろんGoogle にログインしていない状態なので、ユーザ情報は取得できません。

よってログイン画面に遷移するみたいです

login.png

ログインボタンをクリックしログインしたら、ユーザ情報が表示されました。。

account.png


さらに、Googleにデプロイしたあとのアプリケーションは、このようなログイン画面が表示されます。

login_deploy.png


ログインすると、このアプリがあなたの情報にアクセスしてもいいですか、ってきいてくれる。

request.png

Googleのアカウントと連係してサービスしてる雰囲気になってきました。。

自分でこういう画面遷移を作ろうとするとなかなかめんどくさいですが、そういうところはフレームワークが全部やってくれるのがいいですね。


この記事は

選択肢 投票
おもしろかった 0  
そうでもない 0  

Top / GoogleAppEngine / Googleアカウントへアクセスする

現在のアクセス:1531


添付ファイル: filerequest.png 231件 [詳細] filelogin_deploy.png 244件 [詳細] fileaccount.png 237件 [詳細] filelogin.png 249件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-04-24 (火) 00:30:14 (2765d)