Hey, Looking back at your original email I notice your base string has the URL https://api.twitter.com... but your request is to http://api.twitter.com....
The base string and request URLs must be the same otherwise your request is invalid. Hope that helps, Matt Harris Developer Advocate, Twitter http://twitter.com/themattharris On Aug 17, 2010, at 23:08, LINUXGEEK <[email protected]> wrote: > private void StatusUpdate() throws CryptoTokenException, > CryptoUnsupportedOperationException, IOException { > > String oauth_signature_method = "HMAC-SHA1"; > String oauth_timestamp = String.valueOf(timestamp()); > String oauth_nonce = createNonce(oauth_timestamp); > String oauth_version = "1.0"; > > String postBody = "status=" > + URLUTF8Encoder.encode("Finally i got success"); > > String baseString = "POST&" > + URLUTF8Encoder > > .encode("https://api.twitter.com/1/statuses/update.json") > + "&oauth_consumer_key%3D" + "my consumer key" > + "%26oauth_nonce%3D" + oauth_nonce > + "%26oauth_signature_method%3D" + oauth_signature_method > + "%26oauth_token%3D" + token.getToken() > + "%26oauth_timestamp%3D" + oauth_timestamp > + "%26oauth_version%3D" + oauth_version + "%26" > + URLUTF8Encoder.encode(postBody); > String signingSecret = URLUTF8Encoder > .encode("my consuer Secret") > + "&" + URLUTF8Encoder.encode(token.getSecret()); > String signature = hmacsha1(signingSecret, baseString); > Dialog.alert(signature); > String header = new StringBuffer("OAuth oauth_nonce=\"").append( > URLUTF8Encoder.encode(oauth_nonce)).append( > "\", oauth_signature_method=\"").append( > URLUTF8Encoder.encode(oauth_signature_method)).append( > "\", oauth_timestamp=\"").append( > URLUTF8Encoder.encode(oauth_timestamp)).append( > "\", oauth_consumer_key=\"").append("my consumer key") > .append("\",oauth_token=\"").append( > URLUTF8Encoder.encode(token.getToken())).append( > "\", oauth_signature=\"").append( > URLUTF8Encoder.encode(signature)).append( > "\", oauth_version=\"").append(oauth_version).append( > "\"").toString(); > UpdateMyNewStatus(header, postBody); > } > > public static void UpdateMyNewStatus(String auth_header, String body) > { > String url = "http://api.twitter.com/1/statuses/update.json"; > HttpConnection httpConn = null; > InputStream input = null; > OutputStream os = null; > try { > > httpConn = (HttpConnection) Connector.open(url > + ConnectionUtils.getConnectionPerameter()); > httpConn.setRequestMethod(HttpProtocolConstants.HTTP_METHOD_POST); > httpConn.setRequestProperty("WWW-Authenticate", > "OAuth realm=http://twitter.com/"); > httpConn.setRequestProperty("Content-Type", > "application/x-www-form-urlencoded"); > String authHeader = auth_header; > httpConn.setRequestProperty("Authorization", authHeader); > > // write post body > String postBody = body; > httpConn.setRequestProperty("Content-Length", Integer > .toString(postBody.getBytes().length)); > os = httpConn.openOutputStream(); > os.write(postBody.getBytes()); > os.close(); > os = null; > > input = httpConn.openDataInputStream(); > > int resp = httpConn.getResponseCode(); > Dialog.alert(httpConn.getResponseMessage()); > > if (resp == HttpConnection.HTTP_OK) { > > StringBuffer buffer = new StringBuffer(); > int ch; > while ((ch = input.read()) != -1) { > buffer.append((char) ch); > } > String content = buffer.toString(); > Dialog.alert(content); > } > > } catch (Exception e) { > } finally { > try { > httpConn.close(); > input.close(); > } catch (IOException e) { > e.printStackTrace(); > } > } > } > > i am using the above code.. > > > On Aug 17, 7:24 pm, Tom van der Woerdt <[email protected]> wrote: >> On 8/17/10 1:47 PM, LINUXGEEK wrote: >> >>> can any one help in updating the status of my twitter account by using >>> auth token and secret. >> >>> am getting 401 error while doing this.. >> >>> can any one give me code for updating the status. >> >> I could give you pseudocode, yes, but that will most likely be useless >> to you. >> >> Assuming that you know how to program a HTTP socket, what is the request >> you make to twitter before getting this 401 error, and what is the base >> string you use to generate the signature? >> >> Tom >> >> PS: People have said that I never mention the existence of libraries. >> So, here I go:http://dev.twitter.com/pages/oauth_libraries >> PPS: I dislike libraries.
