Re: Twitter oAuth Implementation for Titanium Mobile

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に直してみた。

mogya/oauth-adapter – GitHub

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:-)
}

Re: Twitter oAuth Implementation for Titanium Mobile” への2件のフィードバック

  1. あ、追記。
    iOS4でビルドしてブラウザが終了したときに落ちちゃう現象は、Twitterのアプリ登録を、WEBアプリじゃなくてクライアントアプリにすることで回避することができます。

mogya にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です