2013年12月23日月曜日

Twitter Ruby Gem で遊んでみる

まえがき


ここ数日、現実逃避の傍らrubyのtwitterライブラリで遊んでいました。
今年の春頃から夏頃にかけて、学校の授業の「ウェブサービスを作る」っていう課題でtwitter APIに触ったのですが、あのときはPHP使ってかなり苦労しながらコードを書いた記憶があります。

もっとRubyくらいのお手軽な言語で楽~にtwitter API使えないものか……と思ってちょこっとググってみたら一瞬で見つかりました(´・_・`)

しかも使ってみたらお手軽もお手軽。ドキュメントは英語ですが日本語の解説サイトもあるし便利便利。さすがRubyさん。メジャーな言語はこれだから良い。

ってわけで、今回はその「触り」程度の記事を書こうと思います。



ドキュメント・解説サイト等


一応2カ所挙げておきます。

Documentation for twitter
Twitter(Gem) - 逆引きRuby

ググればサンプルコードとかも出てくると思います。



インストール


Windows用のライブラリもあるのかな? よくわかりませんがとりあえずLinuxで使うことを想定。
Ruby 1.9.3がインストールされていることにします。

$ sudo gem install twitter

これでtwitter ruby gemが使えるようになります。簡単ですね。詳細はdocumentationで。
コードを書く時は

require 'twitter'

でおkです。



Tweetを検索して取得してみる




簡単ですね!
なお、results には SearchResuts オブジェクトが代入されますが、データ構造はこんな感じ。



必要なデータは簡単に取り出せそうです。



つぶやく






プロフィールをいじる


これ本当はクライアント作るとかでないとまったく使いどころのない機能のような気もしますが、なぜか頻繁に使うアプリを作ってしまう人たちがいるんですねぇ()
というわけで、いじるコードはこちら。





まとめ


ruby使うとかなりあっさりとtwitter APIがいじれますね。
streamも使えるみたいですけど、そっちは使ったことがないのでわかりません。

4 件のコメント:

  1. Rubyを勉強し始めの者です。rubyでtwitter_srch.out で出力するされているようなデータ構造を出力(確認)するためのメソッド?を教えていただけないでしょうか。

    返信削除
    返信
    1. > Rubyを勉強し始めの者です。rubyでtwitter_srch.out で出力するされているようなデータ構造を出力(確認)するためのメソッド?を教えていただけないでしょうか。

      コメントを完全に見落としておりました。申し訳ありませんでした。
      今更書くのもアレなんですが一応 twitter_srch.out をどうやって書き出したのかを書いておきますと、要はオブジェクトをnewしてpで表示し、テキストエディタで整形しただけです。

      削除
  2. こんばんは。 記事を読ませて頂きました。
    全くの初心者なのですが”Tweetを検索して取得してみる”等のプログラムを書いた後どのようにして実行すれば良いのでしょうか?
    よろしくお願いします。

    返信削除
    返信
    1. 返事が遅くなりまして、大変申し訳ございませんでした。お読みいただきありがとうございます。

      プログラムの実行方法ですが、この記事に掲載したサンプルコードであれば、

      (1) twitter gemをインストールする(twitterをrequireできるようにする)
      (2) twitterのコンシューマキー、シークレット、トークンを取得・プログラムに記述する

      という2つの手順を踏めば、通常のプログラムと同様に実行できます。
      (1)については、linux(debian系)だと記事に記述したとおりの手順ですんなり行くと思うのですが、windowsでは私はやったことがなく、他のサイトを参照していただいたほうが良いかと思われます。Mac OSは私は使用しないのでなんとも言えません……。
      (2)については、 https://apps.twitter.com/ でCreate New Appの手続きを踏むことで取得できます。

      削除