hello Ernandes up to now is studied your code but  i am getting
structed while using the send() in your twitter api me 1.3


thanks for the replay..



On Aug 18, 3:53 pm, "Ernandes Jr." <ernan...@gmail.com> wrote:
> Hi,
>
> Check my xAuth implementation in TwAPIme,www.twapime.com. Maybe you can
> find what's wrong with your code.
>
> Regards,
> Ernandes
>
> On Wed, Aug 18, 2010 at 7:42 AM, Tom van der Woerdt <i...@tvdw.eu> wrote:
>
>
>
> > The problem is that the last time I did Java (this is Java, right?) was
> > ages ago (I was 12 back then) so I don't really know what the code is
> > doing. The code looks fine to me, but like I said, I don't know Java
> > very well.
>
> > Can you show the actual request you make, instead of code? Like the
> > "POST /1/statuses/update.json HTTP/1.1" part. Also include the base
> > string which you use.
>
> > Tom
>
> > On 8/18/10 12:38 PM, LINUXGEEK wrote:
> > > 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.
>
> --
> Ernandes Jr.
> ---------------------
> "ALL programs are poems. However,
> NOT all programmers are poets."

Reply via email to