Ruby - Twitter ユーザ情報取得!

Updated:


以前、Ruby で Twitter のタイムラインとかユーザ情報とか OAuth 認証とかについて書きましたが、今回はその追加記録です。

自分がフォローしているユーザや自分をフォローしてくれてるユーザの一覧(ユーザ名とか説明とか)はずっと取得して管理しているのですが、ツイート数やフォロー・フォロワー数を管理していなかったので、機能を追加してみました。

その時のテスト用スクリプトです。 OAuth 認証も不要な部分なので、非常に簡単です。

Ruby スクリプト

以下は非常に簡単なテスト用スクリプトです。 実際は、MySQL に登録したり、登録済みユーザと実際のユーザと突合処理をしたり等しているので、もっともっと複雑です。

# -*- coding: utf-8 -*-
require 'twitter'

class TwitterGetUser

  begin

    client = Twitter::Client.new

    # テスト用ユーザID配列
    # ( 数値形式のユーザID )
    ary_user = [ 11111111, 22222222 ]

    res = client.users( ary_user )
    
    res.each do |userinfo|

      puts "id              : #{userinfo['id']}"
      puts "name            : #{userinfo['name']}"
      puts "screen_name     : #{userinfo['screen_name']}"
      puts "location        : #{userinfo['location']}"
      puts "description     : #{userinfo['description']}"
      puts "url             : #{userinfo['url']}"
      puts "statuses_count  : #{userinfo['statuses_count']}"
      puts "friends_count   : #{userinfo['friends_count']}"
      puts "followers_count : #{userinfo['followers_count']}"
      puts "created_at      : #{userinfo['created_at']}"
      puts ""

    end

  rescue => e

    # エラーメッセージ
    str_msg = "[EXCEPTION] " + e.to_s
    STDERR.puts( str_msg )
    exit 1

  end

end

Ruby on Rails での閲覧画面

通常は、各種Rubyスクリプトをサーバでcron起動(1時間毎)して情報を取得しているのですが、Ruby on Rails で閲覧用に画面を作成しています。 以下は、ツイート数・フォロー数・フォロワー数部分。

ROR_TWITTER_USER

参考

  • [REST API Resources Twitter Developers](https://dev.twitter.com/docs/api “REST API Resources Twitter Developers”)

Twitter API を使用すれば、意外と何でもできます。 今回取得するようにしたツイート数に関して言うなら、「ツイート数が0件のアカウントにフォローされたら自動的にブロックするようにする」などの事が意外と簡単に実現できます。

以上。





 

Sponsored Link

 

Comments