Beispiel #1
0
  public void testSigninWithTwitter() throws Exception {
    RequestToken rt;
    Twitter twitter = new TwitterFactory().getInstance();
    HttpClient http;
    HttpResponse response;
    String resStr;
    String authorizeURL;
    HttpParameter[] params;
    AccessToken at;
    String cookie;
    http = new HttpClient();

    // browser client - not requiring pin
    twitter.setOAuthConsumer(browserConsumerKey, browserConsumerSecret);
    rt = twitter.getOAuthRequestToken();

    Map<String, String> props = new HashMap<String, String>();
    response = http.get(rt.getAuthenticationURL());
    cookie = response.getResponseHeader("Set-Cookie");
    //        http.setRequestHeader("Cookie", cookie);
    props.put("Cookie", cookie);

    resStr = response.asString();
    authorizeURL = catchPattern(resStr, "<form action=\"", "\" id=\"login_form\"");
    params = new HttpParameter[4];
    params[0] =
        new HttpParameter(
            "authenticity_token",
            catchPattern(resStr, "\"authenticity_token\" type=\"hidden\" value=\"", "\" />"));
    params[1] =
        new HttpParameter(
            "oauth_token",
            catchPattern(resStr, "name=\"oauth_token\" type=\"hidden\" value=\"", "\" />"));
    params[2] = new HttpParameter("session[username_or_email]", id1.screenName);
    params[3] = new HttpParameter("session[password]", id1.pass);
    response = http.request(new HttpRequest(RequestMethod.POST, authorizeURL, params, null, props));

    //        response = http.post(authorizeURL, params);
    at = twitter.getOAuthAccessToken(rt.getToken(), rt.getTokenSecret());
    assertEquals(at.getScreenName(), id1.screenName);
    assertEquals(at.getUserId(), 6358482);
  }