1

アプリ エンジン サーブレットから JSON データを受け取る Android クライアントがあります。認証クッキーも取得できます。ここで、リクエストからサーブレットへのユーザーを取得したいと思います。

サーブレット コード:

   `User user = (User) req.getAttribute("user");
    String cookie = (String) req.getHeader("Cookie");
    if(user == null){
        UserService userService = UserServiceFactory.getUserService();
        user = userService.getCurrentUser();
    }`

アンドロイド投稿:

HttpGet get = new HttpGet(Setup.PROD_URL+"/viewselectedclass");
    SharedPreferences prefs = Util.getSharedPreferences(getBaseContext());
    String cookie = prefs.getString(Util.AUTH_COOKIE, null);
    get.setHeader("Cookie", cookie);
    client = new DefaultHttpClient();
    HttpResponse r = client.execute(get);

HttpGet リクエストのヘッダーに認証 Cookie を設定しています。サーバー上でユーザーを識別するために、この Cookie を使用する必要があると思います。しかし、サーブレットでは、ユーザー オブジェクトが null であると表示されます。

Android から App Engine にリクエストを送信して現在のユーザーを取得するにはどうすればよいですか。ここで何かが欠けているに違いありません。

4

1 に答える 1

0

さて、MyUser という独自のデータストア エンティティを作成することでこれを解決し、登録時にデータストアによって生成された ID を Android クライアントに送信し、この ID を使用して以降のすべてのリクエストでユーザーを識別しました。私は GAE の UserService をまったく使用していません。

于 2013-03-31T07:16:41.657 に答える