TwitterAPIをActiveResourceで

2008年02月18日 19:39
トラックバック (0)   コメント (0)

じゃあ今回はActiveResourceでもやってみようかな。とは言っても僕も使ったことないので調べながらヨチヨチと

そもそもActiveResourceってなに?
READMEを和訳されてる方がいらっしゃったので拝読
Active ResourceのREADMEを翻訳してみました

なるほど、リモートにあるRESTリソースにマッピングね。
うん、よくわかんない
要は、RESTfulなAPIをActiveResourceで簡単に扱えますよ、ってことっぽい

まぁ、考えるより体で覚えろっていうじゃない。
とにかくやってみる

RESTfulなwebapiを提供しているサービスといえば、やっぱりtwitterが有名かな。toytterはtwitterもどきなわけだし、toytterで発言したら、twitterにも一緒に発言するようにしちゃおう


twitterの投稿APIも日本語訳を参考に
Twitter API 仕様書 (勝手に日本語訳シリーズ)

認証はベーシック認証らしいので、投稿用のAPIは次の様になる
http://(id):(pass)@twitter.com/statuses/update.(json|xml)

それに対応したActiveResourceなTwitterクラスはこんな感じ

class Twitter < ActiveResource::Base
  USER = "hoge"
  PASS = "pass"
  self.site = "http://#{USER}:#{PASS}@twitter.com"
  
  class Status < Twitter
  end
end

ActiveResource::Baseを継承させて、APIのURLをself.siteに入れる。statusesは対象のリソース名?なので、ここで設定するurlは/statusesは入れない。
その代わりに、Twitter::Statusクラスを定義してあげればいい。

script/consoleから

> Twitter::Status.post(:update, :status => "activeresource test")

ってやるだけで、Twitterに投稿できる。


これをtoytterでの投稿時に呼ぶようにする。このままじゃ全てのtoytterユーザーが一つのtwitterアカウントで投稿することになるけど、そこはご愛嬌

toytterのuser_controller.rbのupdateメソッドのところに入れる

  def update
    Status.create :user_id => current_user.id,
      :desc => params[:desc]
    Twitter::Status.post(:update, :status => params[:desc])
    redirect_to "/"
  end

これでtoytter内で発言すると、twitterにも同じ内容が投稿されるようになりました。
超簡単

押忍

最新エントリー
カテゴリ
月別のアーカイブ
プロフィール
吉見和也(Kazuya Yoshimi)
RAWHIDE.(ローハイド.)取締役兼最高技術責任者。Rubyで開発する心地よさに惚れ、Ruby道を邁進する日々。迷わず行けよ、行けばわかるさ、Ruby道。押忍!
Powered by
 

企画特集

Techno ExchangeTechno Exchange
仮想化技術がグリーンITにもたらすもの
仮想化環境で求められるストレージの要件仮想化環境で求められるストレージの要件
それに応えるNetAppの実力とは?
ZDNet Japan ホスティング特集ZDNet Japan ホスティング特集
2008年夏のホスティングサービスのトレンドは何?
セキュリティ対策レベルテスト公開!セキュリティ対策レベルテスト公開!
自社のセキュリティのウイークポイントはドコ?
Webセキュリティ特集Webセキュリティ特集
Web2.0時代の脅威へ対抗するためのソリューションとは?
APC SOLUTIONS FORUM 2008をレポートAPC SOLUTIONS FORUM 2008をレポート
電源、冷却の効率化によるエネルギー削減とは?
ZDNet Japan Green ITZDNet Japan Green IT
サミットだけでは終わらせない!エンタープライズの取り組みはこれからだ!
DELLが掲げる「新・仮想化アセスメントサービス」DELLが掲げる「新・仮想化アセスメントサービス」
〜企業システムの仮想化環境の構築を支援〜
PRADA Phone開封の儀--iPhoneと比べてみました
NTTドコモから発売されている「PRADA Phone by LG」を編集部が入手した。同じタッチパネルケータイであるiPhoneとはどう違うのか、比べながら箱を開けてみた。
iPhoneとPRADA Phone、入力インターフェースはどう違うか
この夏に発売された、注目のタッチパネルケータイ「iPhone 3G」と「PRADA Phone by LG」。いずれもタッチパネルの入力方法にさまざまな工夫を凝らしている。
毎日新聞社内で何が起きているのか(上)
電凸が引き起こしたすさまじい破壊力 毎日新聞の英語版サイト「毎日デイリーニューズ」が女性蔑視の低...