Hi all--

I've recently begun encountering an odd issue -- Status Updates via
OAuth-signpost have begun to fail from my production server, however they
continue to submit successfully from my local machine.  To me, this
indicates an environmental issue rather than a code issue ... but what could
be the culprit?  I am using essentially the same code from the signpost
examples to post an status update -- would you anyone have an idea as to
what might be the issue?  I have confirmed the consumer keys and user tokens
match between local and production servers.

Thanks in advance for any tips!

    HttpPost post = new HttpPost("http://twitter.com/statuses/update.xml";);

    final List<NameValuePair> nvps = new ArrayList<NameValuePair>();

    // 'status' here is the update value you collect from UI
    nvps.add(new BasicNameValuePair("status", tweetText));
    post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));

    // set this to avoid 417 error (Expectation Failed)


    // sign the request
    CommonsHttpOAuthConsumer consumer = new
    consumer.setTokenWithSecret(token, secret);

    // send the request
    final HttpResponse response = httpClient.execute(post);

    // response status should be 200 OK
    int statusCode = response.getStatusLine().getStatusCode();
    final String reason = response.getStatusLine().getReasonPhrase();

    // release connection

    if (statusCode != 200) {
      throw new OAuthNotAuthorizedException(reason);

Received exception:

oauth.signpost.exception.OAuthNotAuthorizedException: Authorization failed
(server replied with a 401). This can happen if the consumer key was not
correct or the signatures did not match.

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: 

Reply via email to