TitaniumMobileで簡単にTwitterのOAuthを通すことが出来る(というふれこみの)oauth-adapterというのがあって。
実際この記事通りにするとあっという間にtwitterにつぶやくことが出来る。
Twitter oAuth Implementation for Titanium Mobile « Appcelerator Developer Center
問題なのはその先で。このコード、どうやらPOSTしかできないので、updateはできるけどhome_timelineがとれないみたい。
@chris4403がoauth-adapterを直してはてなAPIで動くようにしたtitanium-hatena-oauth-sampleを参考に、TwitterのGETメソッドも使えるoauth-adapterに直してみた。
sendメソッドだけ、元のコードと引数が違います。
- params.url APIのエンドポイント
- params.parameters APIに渡す引数
- params.title 成功/失敗の時に出すダイアログのタイトル
- params.successMessage 成功した時に出すメッセージ
- params.errorMessage エラーだった時に出すメッセージ
- params.method ‘POST’/’GET’
つぶやく
//initialization
Ti.include('lib/oauth_adapter.js');
var oAuthAdapter = new OAuthAdapter(
'YOUR_CONSUMER_SECRET_HERE',
'YOUR CONSUMER KEY HERE',
'HMAC-SHA1'
);
// load the access token for the service (if previously saved)
oAuthAdapter.loadAccessToken('twitter');//OAuth if need.
if (oAuthAdapter.isAuthorized() == false)
{
var receivePin = function() {
oAuthAdapter.getAccessToken('https://api.twitter.com/oauth/access_token');
oAuthAdapter.saveAccessToken('twitter');
};
// show the authorization UI and call back the receive PIN function
oAuthAdapter.showAuthorizeUI('https://api.twitter.com/oauth/authorize?' +
oAuthAdapter.getRequestToken('https://api.twitter.com/oauth/request_token'), receivePin);
}//TWEET
oAuthAdapter.send({
url:'https://api.twitter.com/1/statuses/update.json',
parameters:[
['status', '@mogyatest test from tmtwit. '+Math.random()]
],
method:'POST',
title:'Twitter',
successMessage:'tweeted',
errorMessage:'tweet failed'
});
GET TIMELINE
//same code for initialization and authrization.
//get timeline
var responce = oAuthAdapter.send({
url:'https://api.twitter.com/1/statuses/home_timeline.json',
parameters:[
],
method:'GET',
title:'Twitter',
successMessage:'success',
errorMessage:'failed'
});if (responce){
Ti.API.debug(responce);
responce = JSON.parse(responce);
//Enjoy with this responce:-)
}
あ、追記。
iOS4でビルドしてブラウザが終了したときに落ちちゃう現象は、Twitterのアプリ登録を、WEBアプリじゃなくてクライアントアプリにすることで回避することができます。
Titanium MobileでAndroidからTweetする方法
初アプリでtwitterに接続したかったので検索したところ、まさに欲していたものが見つかった。 https://github.com/mogya/tm_t…