#概要
Twitter廃人です。
2019-12-12、PCでのリスト閲覧が出来なくなっており、俺のツイッターライフが滅亡の危機に瀕しています。
スマホでは出来るけどなんで……。
Twitterくん頑張ってるけど、ふとしたことでリスト機能自体を消しちゃったりしそう……?
そうでなくてもアカウント永久凍結されたりしたら本気でヤバいなと思い、リストのメンバーを取得しておきたいと思います。
#追記
リスト見れない問題、解決しました。
https://qiita.com/MATO/items/8af58e6db5bb3df60a84
#環境
Ruby2.5.3
Rails5.2.1
#前提
TwitterAPI使えるようにするまでとかは他記事でお願いします。
gemで'twitter'を追加してbundle installするだけで良かった気がする。
他にもやった気もする。
忘れました
#Model
class Tweet < ApplicationRecord
# --- Twitter API ---
# APIに接続するためのクライアント生成
def self.get_client
client = Twitter::REST::Client.new do |config|
# applicationの設定
config.consumer_key = Settings.consumer_key
config.consumer_secret = Settings.consumer_secret
# ユーザー情報の設定
config.access_token = Settings.access_token
config.access_token_secret = Settings.at_secret
end
return client
end
end
共通設定ファイル
使うために何入れたかは忘れました……。
# Twitter OAtuh Setting
consumer_key: "NAISYODAYODAYO"
consumer_secret: "NAISYODAYODAYO"
access_token: "NAISYODAYODAYO-NAISYODAYODAYO"
at_secret: "NAISYODAYODAYO"
Console
rails c
で入るやつ
> c = Tweet.get_client
> c.lists.each { |list| p list.slug }
必要なのはリストのslug……とのことですが、リスト名そのままでいいかも。
けど一応取っておいた方が良さそう。
> c.list_members('screen_name','お気に入り').each { |member|
> p member.id.to_s + "," + member.screen_name.to_s + "," + member.name.to_s
> }
#まとめ
これでtwitter_id,screen_name,nameのCSVデータっぽいの取れますね。
screen_name(@なんとか)は変えられるので、一応twitter_id取っておいた方が良いと思います。
アカウントが何度死んでも、俺はお前らを逃さねぇからな……❤
注意点
APIの回数制限ありますが、だいたい15分ごとの制限です。
なので「多すぎ!」で怒られても、しばらく待つだけで使えると思います。
終わり
#参考にさせて頂いたサイト
##twitter-rubyのGit
https://github.com/m92o/twitter-ruby
##メソッド一覧
https://sites.google.com/site/gyakuhikiruby/home/twitter-gem#TOC--4
Twitter公式のやつ見てもメソッド名違うから超助かりました。
他のことしたくてもこれ見れば良さそう
##REST-APIの解説
http://westplain.sakuraweb.com/translate/twitter/Documentation/REST-APIs/Public-API/GET-lists-members.cgi