hogashi.*

日記から何から

TweetDeckの画像URLむずかしい201808

 最近 TweetDeck の画像ツイートのサムネイル画像の URL が ~.jpg?format=jpg&name=360x360 のようなものになった (元は ~.jpg:small) ので、 URL の扱いが若干変わり、混乱したので、メモする。

Twitter 画像 URL のクエリパラメータ

 とりあえず 2 つあるのは知っている

  • format: 拡張子
  • name: 大きさ
    • 360x360, small, large, orig などあり種類が豊富、全部は知らない

Twitter 画像 URL

大きく以下の種類があるのは知っている

  1. 拡張子のみ
  2. 拡張子、format
  3. 拡張子、name
  4. 拡張子、format, name
  5. format のみ
  6. format, name
むずかしポイント

 拡張子とクエリパラメータでは、クエリパラメータが優先される。
 たとえば PNG 画像では、拡張子は.jpgとか.gifとかでも、format=pngPNG 画像が見られる。

  • PNG 画像の URL で、拡張子と format を変えてみる表
    • ()内は、画像を見ることが可能かどうか
拡 vsf =jpg =png
.jpg .jpg=jpg (NG) .jpg=png (OK)
.png .png=jpg (NG) .png=png (OK)

 JPG 画像でも同じことのはず

TweetDeck のむずかしポイント

 単純にformatを優先していると元画像が正しく取れない。拡張子を使う必要がある。

  • TweetDeck では、 URL 内に、拡張子と format パラメータの両方があるが……
    • PNG 画像のとき、 https://pbs.twimg.com/media/DklJ0neUcAAv-xh.png?format=jpg&name=360x360 のようになる
      • 対象の元画像の種類は、拡張子に入る
      • 優先度が高いはずのformat は無視しないといけない

 ここで更に混乱したのは、name360x360, smallなどでは、 元画像が PNG であっても、 JPEG 版が用意されているので、画像を見ることが可能な点。実際サムネイルに使われている。
 というか単純に、画像 URL に?format=jpg&name=360x360が結合されている気がする。わからないけど

 検証に使える便利ツイートです