Thanks for the replay i was waiting for your replay here is my post body
String postBody = "status=" + URLUTF8Encoder.encode("Test message"); here is the base String String baseString = "POST&" + URLUTF8Encoder .encode("http://api.twitter.com/1/statuses/update.json") + "&oauth_consumer_key%3D" + "my consumer key" + "%26oauth_nonce%3D"+oauth_nonce+"a" + "%26oauth_signature_method%3D"+oauth_signature_method + "%26oauth_token%3D"+auth_token + "%26oauth_timestamp%3D"+oauth_timestamp + "%26oauth_version%3D"+oauth_version + "%26" + URLUTF8Encoder.encode(postBody); String signingSecret = URLUTF8Encoder.encode("my Secret key")+ "&" + URLUTF8Encoder.encode("auth_secret"); here is my signature String signature = URLUTF8Encoder.encode(hmacsha1(signingSecret, baseString)); here is my header String header = new StringBuffer("OAuth oauth_nonce=\"").append( oauth_nonce).append( "\", oauth_signature_method=\"").append( oauth_signature_method).append( "\", oauth_timestamp=\"").append( oauth_timestamp).append( "\", oauth_consumer_key=\"").append("my consumer key") .append("\",oauth_token=\"").append( token.getToken()).append( "\", oauth_signature=\"").append( signature).append( "\", oauth_version=\"").append(oauth_version).append( "\"").toString(); one more question here when i am making the http request do i need to write the post body to the outputStream.. and tell me what should i change in the above code... On Aug 18, 3:28 pm, Tom van der Woerdt <i...@tvdw.eu> wrote: > Hi, > > That's a lot of code, but I prefer to know what it is doing over the > actual code. So: can you post a request which you make to Twitter, and > can you give the Base String which you use for generating the signature? > > Tom > > On 8/18/10 8:08 AM, LINUXGEEK 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 <i...@tvdw.eu> 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.