如何用Ruby on Rails寫Twitter

來源:互聯網
上載者:User

 

 

Ruby on Rails的Twitter應用程式介面是十分簡單的。Twitter是一個簡單的Rails應用程式。查詢資訊的應用程式介面調用是GET請求,而更改,建立或刪除資訊的則是POST請求。命令本身是你的程式讀取的URL。Twitter會在HTTP響應代碼中返回狀態代碼以及你選擇的格式中的資料。

  CURL

  為了利用Twitter 應用程式介面,會利用到CURL工具。這個工具非常簡單,它可以協助你完成HTTP查詢並從命令列中檢查其結果。它幾乎可以用於所有的平台,因此,應該不存在任何安裝和使用方面的困難。

  唯一會轉換到CURL的擔心是以下這些問題:

  -u username:password——在作出請求前用來驗證你自己的身份。

  -i ——將HTTP標題放入響應中。你可能需要檢查由Twitter返回的HTTP標題,特別是響應代碼。

  -w ‘\n%{response_code}\n’——在響應背後給出響應代碼。如果你只是想要響應代碼這一項比起-i轉換要方便。

  -d var=data&var2=data——發送POST資料來發布訊息,如果轉換存在,則會有產生一個POST請求,否則則產生一個GET請求。

  驗證

  大多數Twitter 應用程式介面的命令都要求驗證,這樣Twitter才知道是誰發送了請求。Twitter應用程式介面也不需要Cookies,所以Twitter不會記住發送請求的人。在每次發送請求前,你都必須驗證使用者名稱和密碼。

  這是通過使用-u轉換的CURL完成的。如果我的使用者名稱是aboutruby而密碼是pass123,我會添加-u aboutruby: pass123到我的CURL 命令。

  你朋友的時間軸

  或許在Twitter中最常見的行為是要求你朋友的時間軸。這在你登入Twitter的時候會遇到的。訪問這個就像訪問http://twitter.com/statuses/friends_timeline.xml一樣容易。請注意這一網址後面的.xml。要想以RSS或HTML格式擷取這一網址,你可以使用.rss或.html來替代。

  以下的CURL命令列會執行這一命令。你應該看看XML輸出。我們還要在解析XML輸出時對它進行更深入的檢查。

  $ curl –u aboutruby:pass123

  http://twitter.com/statuses/friends_timeline.xml

  發表文章

  在Twitter中最常見的行為當然是發表文章或更新。這個CURL命令列有一些細微的差別。-d轉換用於使HTTP行為執行POST請求而不是GET請求,並向發表的文章添加資料。用於這一操作的URL是http://twitter.com/statuses/update.xml ,且它有可能成為POST參數中的一個狀態值。

  $ curl -u aboutruby:pass123 -d

  'status=Posted from CURL'

  http://twitter.com/statuses/update.xml

  Twitter剩下的命令按照同樣的模式。作為Twitter命令的完整引用,請看Twitter 應用程式介面維客的REST應用程式介面文檔。值得一提的是Twitter應用程式介面是向所有人免費開放的。

 

http://twitter.rubyforge.org/

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.