Can you post the URL with querystring parameters when you make the request?
Ryan On Wed, Feb 17, 2010 at 4:51 PM, Ryan Alford <ryanalford...@gmail.com>wrote: > Why are you doing this?.... > > StringBuilder params = new StringBuilder(); > params.append(encode("oauth_consumer_key")); > params.append("=\""); > params.append(encode(CONSUMER_KEY)); > params.append("\", "); > params.append(encode("oauth_signature_method")); > params.append("=\""); > params.append(encode("HMAC-SHA1")); > params.append("\", "); > params.append(encode("oauth_signature")); > params.append("=\""); > params.append(encode(sig)); > params.append("\", "); > params.append(encode("oauth_timestamp")); > params.append("=\""); > params.append(encode(Long.toString(timestamp))); > params.append("\", "); > params.append(encode("oauth_nonce")); > params.append("=\""); > params.append(encode(Long.toString(timestamp + > tmp.nextInt(1000)))); > params.append("\", "); > params.append(encode("oauth_version")); > params.append("=\""); > params.append(encode("1.0")); > params.append("\""); > > Are you putting quotation marks around the values? > > Ryan > > On Wed, Feb 17, 2010 at 2:37 PM, Berto <mstbe...@gmail.com> wrote: > >> Hey guys, >> >> I'm writing a client in java and trying to use oauth to get an access >> token. However, I keep getting an IOException which essentially means >> I'm getting an HTTP 401 error back (unauthorized). I've verified that >> my signature algorithm is correct by using some provided examples over >> at oauth.net, but nothing seems to be working for me. Does the >> consumer key need an & after it? I'm using the exact values provided >> via the register oauth client page. Here's a snippet of the code: >> >> HttpURLConnection connection = null; >> BufferedReader reader = null; >> StringBuilder responseBuilder; >> Date date = new Date(); >> long time = date.getTime(); >> long timestamp = time / 1000; >> Random tmp = new Random(); >> >> try { >> StringBuilder stuff = new StringBuilder(); >> stuff.append(encode("oauth_consumer_key")); >> stuff.append("="); >> stuff.append(encode(CONSUMER_KEY)); >> stuff.append("&"); >> stuff.append(encode("oauth_nonce")); >> stuff.append("="); >> stuff.append(encode(Long.toString(timestamp + >> tmp.nextInt(1000)))); >> stuff.append("&"); >> stuff.append(encode("oauth_signature_method")); >> stuff.append("="); >> stuff.append(encode("HMAC-SHA1")); >> stuff.append("&"); >> stuff.append(encode("oauth_timestamp")); >> stuff.append("="); >> stuff.append(encode(Long.toString(timestamp))); >> stuff.append("&"); >> stuff.append(encode("oauth_version")); >> stuff.append("="); >> stuff.append(encode("1.0")); >> >> StringBuffer base = new >> StringBuffer("GET").append("&") >> .append(encode("http://twitter.com/oauth/ >> request_token")).append("&"); >> base.append(encode(stuff.toString())); >> String oauthBaseString = base.toString(); >> >> String sig = signature(oauthBaseString, >> CONSUMER_SECRET); >> >> StringBuilder params = new StringBuilder(); >> params.append(encode("oauth_consumer_key")); >> params.append("=\""); >> params.append(encode(CONSUMER_KEY)); >> params.append("\", "); >> params.append(encode("oauth_signature_method")); >> params.append("=\""); >> params.append(encode("HMAC-SHA1")); >> params.append("\", "); >> params.append(encode("oauth_signature")); >> params.append("=\""); >> params.append(encode(sig)); >> params.append("\", "); >> params.append(encode("oauth_timestamp")); >> params.append("=\""); >> params.append(encode(Long.toString(timestamp))); >> params.append("\", "); >> params.append(encode("oauth_nonce")); >> params.append("=\""); >> params.append(encode(Long.toString(timestamp + >> tmp.nextInt(1000)))); >> params.append("\", "); >> params.append(encode("oauth_version")); >> params.append("=\""); >> params.append(encode("1.0")); >> params.append("\""); >> >> // Prepare the connection >> URL url = new URL("http://twitter.com/oauth/ >> request_token"); >> connection = (HttpURLConnection) url.openConnection(); >> connection.setRequestMethod("GET"); >> >> connection.setRequestProperty("WWW-Authenticate", >> "OAuth " + params.toString()); >> >> connection.setConnectTimeout(30000); >> connection.setReadTimeout(30000); >> >> // Read the response >> int code = -1; >> try { >> code = connection.getResponseCode(); >> } catch (IOException e) { >> e.printStackTrace(); >> } >> reader = new BufferedReader(new >> InputStreamReader(connection.getInputStream())); >> responseBuilder = new StringBuilder(); >> >> String line = null; >> while ((line = reader.readLine()) != null) { >> responseBuilder.append(line); >> } >> > >