mogyaさんのtwitter_api.jsをAndroidで使うためのパッチ(ただし実機のみで実行可能)

@mogyaさんが作られたTitanium Mobile用Twitter APIラッパtwitter_api.jsですが、現在のバージョンではAndroidでの実行時に(具体的にはOAuthの認証周りやPINの取得で)想定した動作をしてくれません。

と、お嘆きの貴兄淑女にご朗報です!

困ったときの公式掲示板検索...で見つけただけですが(^^;

http://developer.appcelerator.com/question/117053/oauth-adapter-for-android

方法としては以下のパッチを順に適用するだけです。

http://www.exilis.org/uploads/0001-now-it-runs-on-Android.patch

http://www.exilis.org/uploads/0001-interim-fix.patch

パッチ適用後、twitter_api呼び出しの前にpath_libを設定しておきます。

// ここに追記しておきましょう。
if(Titanium.Platform.osname !== 'android'){
	path_lib  = 'lib/';
}
else{
	path_lib = '';
}
Ti.include("lib/twitter_api.js");
//initialization
Ti.App.twitterApi = new TwitterApi({
    consumerKey:'YOUR CONSUMER KEY of twitter API',
    consumerSecret:'YOUR SECRET of twitter API'
});
var twitterApi = Ti.App.twitterApi;
twitterApi.init(); 

そうするとあんなにエラーばっかりだったのに、無事OAuth認証→PIN取得→GET/POSTといった流れも無事に試すことができました。わーい。

ただし実機でのみ実行可能でしたので、その点ご注意下さい。(動作確認は003Zにて実施)

エミュレータ環境に関していうとAPIs 2.2, 2.3.3のいずれでもNGでした。HTTPClient周りの実装に難がありそうなのですが、そこまで突き詰められていません。

ちなみに検証ですが、Continuous Buildsdk 1.7.0でやっています。
Android使っているのならオススメ(@masuidriveさん談)ですよ!

追記(お詫び)

投稿時のタイトルが@つきになっていたため、twitterのmention爆発を誘発してしまいました。

mogyaさんには謹んでお詫び申し上げます。今後はこのようなことがないよう気をつけます。