App引擎java Android获取用户属性

时间:2013-03-09 10:21:47

标签: android google-app-engine http-get setcookie

我有一个从app引擎servlet接收JSON数据的android客户端。我也可以获得身份验证cookie。现在,我想让用户从请求到servlet。

Servlet代码:

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

Android帖子:

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请求的标头中设置了auth cookie。我相信这个cookie必须用于识别服务器上的用户。但是在servlet中,它表示users对象为null。

如何从Android向App引擎发送请求以获取当前用户。我必须在这里遗漏一些东西。

1 个答案:

答案 0 :(得分:0)

好的,我通过创建自己的名为MyUser的数据存储实体解决了这个问题,在注册过程中将数据存储区生成的ID发送到了android客户端,并使用此ID在所有进一步的请求中识别用户。我根本没有使用GAE的UserService。