This is a library to call twitter api from titanium mobile project.
'Twitter oAuth Implementation for Titanium Mobile' by David Riccitelli is great library.
The problem is, as far as I saw, we can't use GET method by that library, can we? It means I can't get the twitter timeline.
So I have forked the OAuth_adapter to use POST and GET method.
Also, I wrote twitter_api.js which is more user-friendly wrapper class.
Same as original oauth_adapter.js, we need [oauth.js][oauth_js] and [sha1.js][sha1_js]. [oauth_js]: http://oauth.googlecode.com/svn/code/javascript/oauth.js [sha1_js]: http://oauth.googlecode.com/svn/code/javascript/sha1.js put twitter_api.js,oauth_adapter.js,oauth.js and sha1.js to yourproject/Resources/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();
When you call twitterApi.init, the library open a web browser UI to request the oauth authorization process if needs.
//status update
twitterApi.statuses_update({
onSuccess: function(responce){
alert('tweet success');
Ti.API.info(responce);
},
onError: function(error){
Ti.API.error(error);
},
parameters:{status: 'yah! this is my first tweet from twitter_api.js! '}
});
//get tweets
twitterApi.statuses_home_timeline({
onSuccess: function(tweets){
for(var i=0;i<tweets.length;i++){
var tweet = tweets[i];
// now you can use tweet.user.name, tweet.text, etc..
}
},
onError: function(error){
Ti.API.error(error);
}
});
if you like the OAuth Adapter, consider donating to David.
英語は疲れますね:-)
Titanium mobile から twitter APIを呼び出すためのラッパークラスです。 同様の機能を持つものとして、David Riccitelli の'Twitter oAuth Implementation for Titanium Mobile'が有名なのですが、 このライブラリ、GETができなかったり、APIの呼び出しが終わるたびに毎回ポップアップを出さないといけないとか、いろいろ問題があったので titanium-hatena-oauth-sampleを参考に書き換えました。
ついでに、twitterAPIを簡単に呼び出せるようにしたtwitter_api.jsというラッパークラスを作りました。 APIドキュメントに書いてある名前と引数でAPIを呼び出すことができて、onSuccessとか、onErrorといった普通のコールバック関数で処理を行うことができます。 詳しくは上記(英語の部分の)サンプルコードをご覧ください。