ぱちおのいろいろ。

プログラミング、イラスト、作曲、アニメ等好きな事や近況報告とかアウトプットしたい時に使います。

相関図できました!がお詫び

ふぁぼたくさんありがとうございました!

※追記:無事抜け落ちした人を追加できました!

f:id:patioglass:20150131131640p:plain

先週に「 #ふぁぼした人を勝手に図に追加してみようのコーナー 」というハッシュタグで募集を行い、見事完成しました!!本当にたくさんのふぁぼありがとうございました!

と言いたかった(/・ω・)/

実はふぁぼ数は「62」なんですが、図にいるのは59人分しかありません(´・ω・`)

Twitterが上手く取得できてないのか数が合わなかったんですよねorz

favstar様http://ja.favstar.fm/とかでも見たんですけどそれでも取りこぼしがあるみたいで残り3名がどうしても見つからない・・・うおおおおって3,4日くらい悩みました←全ての遅れた原因

天の声「なら自分で作って確認しちゃいなよ」

ということでふぁぼられた人を表示するスクリプトを自分で組んじゃおうとなりました

だがしかし

  • APIなんて叩いたことない
  • Hello Worldのやり方すら知らないRubyでなぜか組もうとする
  • できる確証は全くない

という無謀チャレンジを何故か実行しました(なぜ)

しかも一日で終わらせる気満々だったのも謎です。実際一日やってこれ以上遅らせるのもあれと思って切り上げましたが

結論的にできなかったけど、まぁ自分の勉強メモ程度に

TwitterOAuth認証

まずTwitterAPI叩くにはどうやらconsumer_key, consumer_key_secret, access_token, access_token_secretが必要らしいので登録しに行く

https://apps.twitter.com/app/new

f:id:patioglass:20150131110259p:plain

なんかここのURLに行き着くのに時間がかかるという初心者っぷりを発揮しました(´Д`;)

あとはいい感じに登録完了させてAPI叩く。

APIを読む

https://dev.twitter.com/rest/reference/get/followers/list

うーーーん? 「ふぁぼ数」は取得できるけど、「ふぁぼられた人間」のスクリーンネームとかどうやってとるんだ???

はい、ここで躓きました。誰か教えてくださいorz

仕方ないのでとりあえずふぁぼ数だけでも確認

require "twitter"
require "json"


json = open("./config.json").read
keys = JSON.parse(json)

client = Twitter::REST::Client.new do |config|
        config.consumer_key = keys["CONSUMER_KEY"]
        config.consumer_secret = keys["CONSUMER_SECRET"]
        config.access_token = keys["ACCESS_TOKEN"]
        config.access_token_secret = keys["ACCESS_TOKEN_SECRET"]
end
    
    target_url = ARGV[0].split("/")
    if target_url[5] =~ /\?/
        target_url_id = target_url[5].split("?")
        target_url[5] = target_url_id[0]
    end

    #コマンドライン引数のURLからスクリーンネームとツイートIDを取得
    #ツイートIDのテキストとふぁぼ数を取得して表示
    options={"max_id" => target_url[5].to_i}
    client.user_timeline(target_url[3],options).each do |status|
        if status.id == target_url[5].to_i
            puts "[[TweetDetail]]--->#{status.text}"
            puts "[[Favorite_Count]]--->#{status.favorite_count}"
            puts "[[TweetID]]--->#{target_url[5]}"
        end
    end

ツイートのURLを指定すればそのツイートの「内容」「ふぁぼ数」「ID」が表示するスクリプト

ちなみに今回のやつで実行すると

$ ruby test.rb https://twitter.com/patioglass/status/558300814515523584

結果

[[TweetDetail]]--->ふいにやって見たくなった
図は人によって色々な気がするので自分で勝手に新しいの作ります
画像は完全にイメージです
 #ふぁぼした人を勝手に図に追加してみようのコーナー http://t.co/PMcZHLx0fn
[[Favorite_Count]]--->62
[[TweetID]]--->558300814515523584

どうやらふぁぼ数が62であることは間違いないようです(´・ω・`)

非公式APIでいい感じにjsonデータGET出来そうなのはあったんですが、なんか上手いこと取得できず・・・プログラミング力欲しい

誰か教えてちくり~~~

取りこぼした人達(;´Д`)

ほんっっとう申し訳ありません!!!!!

原因として考えられるのが

  • 鍵垢のため取得漏れが起こっている
  • Twitterが悪い

あたりだと思うので、「ふぁぼしたのに乗ってねーぞ!」って人は連絡ください!!

更新しますので!!;

API叩くの楽しかった

色んな情報取得できちゃったり、自動ふぁぼとかも実装できたりで色んなことできるんですね!すごい!

botとか作り放題感はある。

めっちゃいじいじしたいけど追試験とか入院とかその他もろもろあるしまた何か機会があった時に触りたいです。