Hi Taylor, Thanks for the quick response. I stand corrected on the three-legged authentication. Skipping a few steps doesn't make it 2 :)
You're right about the typo - the code I was using was incorrect. Having fixed it, however, didn't seem to help. Here's the response I'm getting (after the fix): -> "HTTP/1.1 401 Unauthorized\r\n" -> "Date: Thu, 09 Sep 2010 19:25:23 GMT\r\n" -> "Server: hi\r\n" -> "Status: 401 Unauthorized\r\n" -> "WWW-Authenticate: Basic realm=\"Twitter API\"\r\n" -> "Content-Type: application/xml; charset=utf-8\r\n" -> "Content-Length: 137\r\n" -> "Cache-Control: no-cache, max-age=1800\r\n" -> "Set-Cookie: k=71.183.40.72.1284060323860138; path=/; expires=Thu, 16-Sep-10 19:25:23 GMT; domain=.twitter.com\r\n" -> "Set-Cookie: guest_id=128406032386923588; path=/; expires=Sat, 09 Oct 2010 19:25:23 GMT\r\n" -> "Set-Cookie: _twitter_sess=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo %250ASGFzaHsABjoKQHVzZWR7AA%253D %253D--1164b91ac812d853b877e93ddb612b7471bebc74; domain=.twitter.com; path=/\r\n" -> "Expires: Thu, 09 Sep 2010 19:55:23 GMT\r\n" -> "Vary: Accept-Encoding\r\n" -> "Connection: close\r\n" -> "\r\n" The new code is now: consumer = OAuth::Consumer.new("KEY", "SECRET", { :site => "http:// api.twitter.com", :scheme => :header }) token_hash = { :oauth_token => "OTHER KEY", :oauth_token_secret => "OTHER SECRET"} access_token = OAuth::AccessToken.from_hash(consumer, token_hash) res = access_token.get("/statuses/update.xml", {"status" => "Hello tweet"}) Any thoughts? thanks, Eran On Sep 9, 1:37 pm, Taylor Singletary <taylorsinglet...@twitter.com> wrote: > Hi Eran, > > First, just a clarification of terms: this isn't technically "2-legged" > OAuth, this is still three-legged. > > The code you've pasted here has a mis-spelled key name for ":oauth_token" > (you've provided "oath_token" -- is this true of the code you are executing > as well? > > I haven't personally tested the 0.4.3 version of the Ruby gem, but have had > ongoing affection for version 0.3.6 for some time. > > Finally, the error message you are getting back from Twitter is actually > more detailed than what you see in the default exception raising of the > OAuth gem. You'll need to take a look at the raw body response we send you > for more information on why this error might be occurring. > > Thanks, > Taylor > > > > On Thu, Sep 9, 2010 at 10:19 AM, EranD <eran.davi...@gmail.com> wrote: > > Hi, > > > I'm trying to get a server app to tweet messages to one specific > > account I own. I'm following Twitter's instructions on Twitter's wiki: > >http://developer.twitter.com/pages/oauth_single_token#ruby > > > I can read information from twitter (e.g. get last 20 tweets), but > > when I try to update my status I get the error "Could not authenticate > > with OAuth" in the body of the 401 response. > > > The simplified code I'm using is below. Key , secret, access token and > > secret are all copied from my twitter application page on > > developer.twitter.com. OAuth gem version 0.4.3. > > > Any thoughts or suggestions? > > > ------ > > consumer = OAuth::Consumer.new("MY KEY", "MY SECRET", { :site => > > "http://api.twitter.com", :scheme => :header }) > > > token_hash = { :oath_token => "MY ACCESS TOKEN", :oauth_token_secret > > => "MY ACCESS SECRET"} > > access_token = OAuth::AccessToken.from_hash(consumer, token_hash) > > > res = access_token.get("/statuses/update.xml", {"status" => "Hello > > tweet"}) > > ----- > > > Response: > > <Net::HTTPUnauthorized 401 Unauthorized readbody=true> > > > thanks, > > > Eran > > > -- > > Twitter developer documentation and resources:http://dev.twitter.com/doc > > API updates via Twitter:http://twitter.com/twitterapi > > Issues/Enhancements Tracker: > >http://code.google.com/p/twitter-api/issues/list > > Change your membership to this group: > >http://groups.google.com/group/twitter-development-talk?hl=en -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk?hl=en