users@jersey.java.net

Re: [Jersey] Jesey Oauth client and “%20” spaces

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Tue, 26 Jan 2010 13:41:05 +0100

On Jan 26, 2010, at 4:39 AM, Suneel Marthi wrote:

> I think this was a bug in Jersey Oauth implementation that was to be
> fixed.
> This was posted by another user 2 months ago.
>

A fix is currently being worked on more to come soon...

   https://jersey.dev.java.net/issues/show_bug.cgi?id=433

Paul.

>
> ----- Original Message ----
> From: masonh <mason.harding_at_gmail.com>
> To: users_at_jersey.dev.java.net
> Sent: Mon, January 25, 2010 4:42:57 PM
> Subject: [Jersey] Jesey Oauth client and “%20” spaces
>
>
> HI all. I am trying to use the Sun Jersey Client API with Jesey
> Oauth to
> connect to twitter. Lets say I already have the oauth token and token
> secret.
>
> String accessToken = MY_TOKEN;
> String accessTokenSecret = MY_TOKEN_SECRET;
> String url = "http://twitter.com/statuses/update.xml";
>
> // initialize the params and secret.
> OAuthParameters params = initOAuthParams();
> params.token(accessToken);
> OAuthSecrets secrets = initOAuthSecrets();
> secrets.tokenSecret(accessTokenSecret);
>
> // now access the resource
> OAuthClientFilter filter = getClientFilter(params, secrets);
> WebResource resource = client.resource(url);
> resource.addFilter(filter);
>
> MultivaluedMapImpl form = new MultivaluedMapImpl();
> String status = new String("test with spaces");
> form.add("status", status);
>
> // post it
> resource.type("application/x-www-form-
> urlencoded").post(String.class,
> form);
>
> This code will work, but the spaces are encoded as "+". That would
> normally
> be fine, but Twitter seems to only take "%20". if I try replacing
> the post
> with
>
> resource.type("application/x-www-form-
> urlencoded").post(String.class,
> "status=test with spaces");
> or
> resource.type("application/x-www-form-
> urlencoded").post(String.class,
> "status=test%20with%20spaces");
>
> twitter will respond with a 401, Incorrect Signature. If I try just
>
> resource.type("application/x-www-form-
> urlencoded").post(String.class,
> "status=test");
>
> twitter will accept it. How can I get Oauth to work with spaces
> encoded as
> "%20"?
>
> Thanks!
> Mason
> --
> View this message in context: http://n2.nabble.com/Jesey-Oauth-client-and-20-spaces-tp4456943p4456943.html
> Sent from the Jersey mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>