IT坊主でいこう!

坊主をしながらITのことに詳しくなりたい!
iphoneアプリ、Webアプリ等頑張る!

[Titanium]Twitter上のタイムラインを取得する[Mac]

2012年06月09日 18時38分37秒 | Titanium
作りたいものがtwitterとの連携だったので、今回はtwitterとの連携を試します。
すでに認証等やってしまったので一部画像は用意できませんのであしからず。

まず参考にしたのがこちら
OAuth認証してツイートしてタイムラインを取得できるiPhoneアプリを10分で - もぎゃろぐ
上サイトを文章に起こした形なので、下の文章でわからないときは動画で確認してください。
サクサクとコード等書いていますので、追えないときにこちら見るといいかも。

Twitter Developersを開き「Create an app」をクリック
・アプリについての入力項目が出てくるので入力

・登録すると、ConsumerKey、ConsumerSercret等表示されるのでメモっておく
・Titaniumにてプロジェクトを作成する
・Twitterの情報をとってきてくれるAPIをプロジェクトに追加する。
 今回は有名っぽい上記サイトのmogya / tm_twitter_api - githubを使用
・GitHubページに書かれているHowToの
Ti.include("lib/twitter_api.js");
//initialization
var twitterApi = new TwitterApi({
consumerKey:'YOUR CONSUMER KEY of twitter API',
consumerSecret:'YOUR SECRET of twitter API'
}
);
twitterApi.init();

こちらをapp.js等に書く。
consumerKey,consumerSecretの値は、先ほどメモした値を書く。

これで下準備は完了、あとはメソッドを使用して情報を取ってくる。


var tableView = Titanium.UI.createTableView();
var tableStyle = require("style/table");
twitterApi.statuses_home_timeline({
onSuccess: function(tweets){
tableView.setData([]);
for(var i=0;i<tweets.length;i++){
var tweet = tweets[i];
var tableRow = Titanium.UI.createTableViewRow(tableStyle["tweetRow"]);
var userView = Titanium.UI.createImageView(tableStyle["userImage"]);
var tweetLabel = Titanium.UI.createLabel(tableStyle["tweetText"]);
userView.setImage(tweet.user.profile_image_url);
tweetLabel.setText(tweet.text);

tableRow.add(userView,tweetLabel);
tableView.appendRow(tableRow);
win1.add(tableRow);
// now you can use tweet.user.name, tweet.text, etc..</div>
}
Ti.API.info("Success statuses of home timeline!");
},
onError: function(error){
Ti.API.error(error);
}
});


こんな感じにonSuccess内で処理を書く形らしい・・・。
最初このメソッドからデータを配列で取得してから、ゴリゴリ処理を書こうとしたら一向にデータが取れなくて詰まった。

シミュレータを立ち上げるとどのアカウントで認証するかアカウント情報を入力する画面に遷移するので入力。
この後、認証番号みたいなのが表示されるけどこのAPIならそこら辺すっ飛ばしてくれます。

上手くいっていたら


こんな感じで表示されるはず、これはtwitterApi.statuses_user_timeline()を使用してます。


今回、APIいれて色々いじってたけど
・Titanium Studioはコード補完がかなりしょぼい
この一言で。
自分で入れたAPIは補完の候補に上がらないし、というか同じコンテキスト内で宣言した変数ですら補完してくれないってなんなんですか
何かいいエディタ探そうかなー。

あと、すごい適当にgooブログ選んだけどやっぱり使いづらい・・・。特にコード載せるの・・・。
技術専門のブログないかも探そう


最新の画像もっと見る