前の記事で Rails で作成したアプリケーションに Twitter でログインを試しました。
TwitterAPI を使用してツイートを取得してみます。
(そもそもは TwitterAPI の使用ってこっちが目的なのではとも感じますし。)
目次
参考
実装
下準備
以下のコマンドで環境の用意をします。
1 2 3 4 5
| bundle init
bundle install --path=vendor/bundle
|
実装
get_tweet.rb1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| require "twitter"
client = Twitter::REST::Client.new do |config| config.consumer_key = "YOUR_CONSUMER_KEY" config.consumer_secret = "YOUR_CONSUMER_SECRET" config.access_token = "YOUR_ACCESS_TOKEN" config.access_token_secret = "YOUR_ACCESS_SECRET" end
client.home_timeline({ count: 200 }).each do |tweet| puts "#{tweet.user.name}[ID:#{tweet.user.screen_name}]" puts tweet.full_text end
|
bundle exec ruby get_tweet.rb
で実行します。
実行すると自分自身のタイムラインを取得できます。
YOUR_CONSUMER_KEY
とYOUR_CONSUMER_SECRET
など 4 つのパラメータは twitter の developer アカウントの管理画面で取得します。
YOUR_ACCESS_TOKEN
とYOUR_ACCESS_SECRET
の二つは、Twitter 認証の完了時の情報の中に含んでいるので、こちらからも使用が可能でした。
巷にあふれるツイッター連携するアプリってこういう風に作っているんでしょうか。
他にも取得できる情報があったので、一部ですがまとめます。
実行可能なAPI1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
client.search('Ruby').take(10).each do |tweet| puts tweet.text puts tweet.uri puts tweet.retweet_count puts tweet.retweet? end
puts client.user.id
puts client.user.profile_banner_uri
puts client.profile_banner
puts client.user.profile_image_uri
puts client.user.created_at
puts client.user.name
puts client.user.description
puts client.user.website
puts client.user.profile_background_color puts client.user.profile_link_color puts client.user.profile_sidebar_fill_color
puts client.follower_ids
puts (client.follower_ids.to_a)[0]
puts client.user.tweets_count
puts client.trends
client.update("TEST") client.update_with_media("TEST with media", File.new("ファイルのパス"))
client.update_profile({name: "新しいユーザー名"}) client.update_profile({description: "新しい自己紹介"})
|
今回は ruby から Twitter の API を触ってみました。
前回記事の認証を作った時、返り値で提供されている情報を見ていろいろできそうだと感じたのがきっかけではありましたが、なかなか良かったと感じます。
API はリクエスト回数の制限もあるので頻繁に実行できないものもありますが、ユーザー情報の取得は十分に使えました。
ただ、いまいち応答する API がわかりにくいとも感じました。
Rdoc と Twitter 本体の公開しているドキュメント、gem についての github のドキュメントを相互に読みながら進めるのがいいと感じます。
ではでは。