Ruby - Twitter と連携する
Twitter には REST API があり、ツイートやフォロー、タイムラインの取得などアプリに組み込むことができます。
フォローする、リツイートするなどの機能も見かけますね。
curl で十分、といわれるかもしれませんが、その準備は結構面倒なので、
それを解決するRuby の twitter ライブラリについて紹介します。
https://github.com/sferik/twitter
TwitterのAPIアカウントを準備する
Twitterのアカウントが必要です。個人のアカウントでもいいですが、連携してたりすると恥をかいたりしますので、開発用のアカウントを作成します。
一度ログオフしてからアカウントを作成します。
TwitterのDeveloperサイトにアプリケーションを登録する
https://dev.twitter.com/apps にアクセスし、
Username/Passwordは新規作成したアカウントを使ってログインします。
次の画面が表示されます。Create a new application ボタン をクリックします。
アプリケーション情報の入力画面に登録します。
Name: アプリケーションの名前を32文字以内で指定します(twitterを含んではダメ)
Description: アプリケーションの説明文を記述します。
Website: ウェブサイトのURIを記述します
以下の画面が表示されます。
Consumer keyとConsumer secretがすでに設定されています。
確認してください。
べージ下部にある Your access token の領域を確認します。Create my access token ボタンをクリックして、access token を作成します。クリック後作成が完了します。
数秒後にページを再読込するとYour access token の領域に、Access TokenとAccess Token Secret が表示されます。
初期状態でのAccess level はRead only となっています。Read-Writeモードにするには以下には次の手順を行います。
- タブメニューの Settings をクリックします。Application Type領域のモードを Read-Writeに変更し、ページ下部のUpdateボタンをクリックします
- タブメニューの Details をクリックします。Your access token 領域の Recreate my access token をクリックします。
インストール
gem install twitter
現時点での最新版は 4.8.1 です。
使い方
設定
Twitter.configure メソッドでキー・トークン類を登録する
Twitter.configiure do |config|
config.consumer_key = <consumer_key>
config.consumer_secret = <consumer_secret>
config.oauth_token = <access_token>
config.oauth_token_secret = <access_token_secret>
end
認証済みユーザでツイートする
Twitter.update "ツイートなう"
フォローする
Twitter.follow "user_name" (ユーザIDでも可)
ユーザのプロフィールを取得する
user = Twitter.user "user_name"
user # Twitter::User
user.id # ユーザID
user.name # ユーザ名
user.screen_name # スクリーン名 (@hogehoge の hogehoge)
user.created_at # アカウント作成日
user.description # ユーザの名称
フォロワーのリストを取得する
followers = Twitter.followers "user_name"
followers # Twitter::cursor