結論
いろいろなサイトを見ると 40fps まで、みたいなことが書いてありますが 60fps まで行けました。
補足
- 60fps 以上もいけるかもしれません
- fps の上限はは他の要素との組み合わせで決まるのかもしれません
- 2021/11/08 現在の情報です
いろいろなサイトを見ると 40fps まで、みたいなことが書いてありますが 60fps まで行けました。
2021年10月31日現在、15周年の画像までを確認しています。
こういうやつです。
たとえば、API で取得できる media_url_https
が https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq.jpg
であったとします。この URL に wget
をしても原寸大画像は得られません*1。
常に原寸大画像を取得するためには https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq?format=jpg&name=orig
のようにします。つまり media_url_https
に対して以下の処理を施します。
format=拡張子(ドット不要)
format=jpg
name=orig
Ruby でこの処理を行うスクリプト例は以下のとおりです。
url = 'https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq.jpg' extension_including_dot = File.extname(url) extension_without_dot = extension_including_dot[1..] url_without_extension = url.gsub(extension_including_dot, '') "#{url_without_extension}?format=#{extension_without_dot}&name=orig" #=> "https://pbs.twimg.com/media/FAlJ_JsUUAAgOSq?format=jpg&name=orig"
*1:ただし、元画像のサイズが一定以下ならば原寸大画像となる
以下のとおりです。
Kitakyushu: 1110809 Saitama: 1116753 Chiba: 1117034 Fukuoka: 1117099 Hamamatsu: 1117155 Hiroshima: 1117227 Kawasaki: 1117502 Kobe: 1117545 Kumamoto: 1117605 Nagoya: 1117817 Niigata: 1117881 Sagamihara: 1118072 Sapporo: 1118108 Sendai: 1118129 Takamatsu: 1118285 Tokyo: 1118370 Yokohama: 1118550 Okinawa: 2345896 Osaka: 15015370 Kyoto: 15015372 Japan: 23424856 Okayama: 90036018
available
というエンドポイントのレスポンスに全地域(国)のデータが含まれているので、その中から country
が Japan
のものを抽出すればよいです。
available
の個別レスポンス例以下の例は、Ruby の gem 経由で取得した available
エンドポイントの個別レスポンスの例です*1。
=> {:name=>"Kitakyushu", :placeType=>{:code=>7, :name=>"Town"}, :url=>"http://where.yahooapis.com/v1/place/1110809", :parentid=>23424856, :country=>"Japan", :woeid=>1110809, :countryCode=>"JP", :id=>1110809}
*1:Yahoo! の API のエンドポイントはもう存在しないようです
標題の通りなので、たとえばデータベースにユーザデータを格納しようとする際に name
に NOT NULL
制約をかけていたりバリデーションをかけていたりすると、エラーになります。
対処法の一つとしては Twitter::NullObject
のときは例外として特定の文字列に置き換えることでしょうか。ただし注意することがあり、このオブジェクトは以下のような評価になるということです。ここで obj
を Twitter::NullObject
のオブジェクトとします。
obj.nil? #=> true obj == true #=> false obj == false #=> false obj || 'hoge' #=>(空っぽ。何も表示されない) (obj || 'hoge').class #=> Twitter::NullObject
obj || 'hoge'
で hoge
が返ってこないことには注意が必要です。