I guess there’s a gap in understanding some terms. Twitter speaks from the single user and single user applications. Yes, my application is a single user application. It does something with the data of a single Twitter user’s account. But I have MANY single users. And I cannot administrate them in a single step, they are worldwide. So they have to administrate the application and the accounts themselves.
Creating a Twitter account is mandatory and I guess they will manage this surely themselves. Installing my application is also a step they must manage without any discussion. But registering my application in their Twitter user’s accounts is another and a somehow unusual topic. (Where else is such a step needed?) And really counterproductive is that this registration needs without any fail an interactive user participation. Applications like Windows Services or Linux daemons CANNOT interact with somebody. They have no user interface at all! They need to run automatic or they just fail.
So, if I cannot my program let register himself during an interactive OAuth process - how else can the external application be registered? By the user in his account? Good idea. At the moment a user can only register an application if he registered himself earlier as a Twitter developer. Which user will do this? A normal Twitter user cannot - as far as I know he just has no button in his account, nowhere. This is a missing feature! So running OAuth remains the only serious way to register an application.
I see two solutions at the moment:
- create a fake web application, a silly but interactive PHP thing, just to register the real application in the user’s account and transfer the keys to the client side, then run the none interactive application using these keys
- perform a real OAuth procedure in the application, but catch the register application web page in background (don’t open a browser) and fake the interactive button pressing - this means “emulate” a real person, just say “Yes”, I’m not sure if this could be programmed, this requires some experiments