如何使用Android作为客户端访问express.js / passport.js API?

时间:2013-01-07 13:11:39

标签: javascript android node.js passport.js

我正在尝试访问使用node.js和passport.js完成的express.js api。当req.use可用时,某些方法才有用。

我尝试从我的客户端应用程序使用Facebook和Twitter登录,我得到了简单的cookie。

像connect.sid = jkbsdkjabdkjasdbjkadnaidiadiasdaoidoa

我使用此方法重新创建客户端cookie:

            BasicClientCookie clientCookie = new                BasicClientCookie(Metadata.COOKIE_LOGIN, cookieValue);
    clientCookie.setDomain("www.domain.com");
    clientCookie.setPath("/");
    Calendar calendar = Calendar.getInstance();
    calendar.add(Calendar.DAY_OF_MONTH, 1);
    clientCookie.setExpiryDate(calendar.getTime());
    return clientCookie;

之后,我用这个来制作Json Requests:

    HttpUriRequest request = method.createRequest(uri);
    request.addHeader("Accept", "application/json");
    HttpProtocolParams.setContentCharset(params, HTTP.UTF_8);
    DefaultHttpClient client = new DefaultHttpClient(params);
    client.getCookieStore().addCookie(USER_SESSION_COOKIE);
    HttpResponse response = client.execute(request);
    String serializedJson = EntityUtils.toString(response.getEntity(), HTTP.UTF_8);
    T fromJson = gsonParser.fromJson(serializedJson, clazz);

我无法像往常一样使用快速'路线方法。

我知道我做错了什么但我不知道是什么。

任何人都在Android应用程序和passport.js之间建立了连接?

谢谢大家!

1 个答案:

答案 0 :(得分:0)

有关如何将OkHttp与持久性Cookie存储区一起使用的快速了解,请参阅this question。使用HTTP库访问REST API将使事情变得更加容易。