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.