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.

Reply via email to