Why can’t I just post status without having to authenticate – again?


I’m developing an Android app that posts a simple status message to a twitter account that’s linked to my app. All users of my app will post status messages to the same Twitter account.

I’ve been through the process of registering my app with Twitter and I have the necessary Consumer Key, Consumer Secret, Access Token and Access Token Secret. I’ve set the account to Read & Write, and set the REQEST type to GET.

I’ve downloaded the Twitter4J library and installed the twitter4j-core-3.0.3.jar into my app and set the necessary manifest permissions.

The problem is that I still cannot get Twitter to accept a status post.

The call to updateStatus(“xxxxxx”) causes an exception that reports “Received authentication challenge is null”.

The twitter4j library comes with a number of .lib files and I think I only need to integrate the twitter4j-core-3.0.3.jar library, so do I need to integrate any of the other libraries that come with the download (like twitter4j-appengine, twitter4j-async, twitter4j-media-support or twitter4j-stream)? It’s not clear to me which libs I need, so maybe I need all of them?

I had assumed that having the Consumer Key, Consumer Secret, Access Token and Access Token Secret was all that I needed to post messages, but it seems that there’s something missing and I cannot find any information anywhere about what it might be. Do I need to take another step with Twitter to prove that I’m the owner of the Twitter account and the App? Is there something I need to do first time around? I really, really don’t want to go down the path of having to implement the full oAuth authentication process, as it isn’t appropriate for my app.

Can anybody offer any guidance as to what I’m doing wrong, of have I completely missed the point of what Twitter4J and all the app registration is all about?