ツイッターコンソール https://apigee.com/console/twitter
- プロフィール画像のフォーマットは少なくともpng、gif、jpg、bmpの4種類ある。しかし後述の通り拡張子は信用出来ないので実際のデータ形式の判断に使うべきではない。
- apiから取得するプロフィール画像のURLには_normalが付いている
- _normalを削除するとオリジナルのファイルが得られる
- 今はアニメーションgifの設定は出来ないが、昔設定した人のオリジナルファイルは今もそのままになっている。_normalは静止画になっている。
- 最近のプロフィール画像のURLはランダムな英数8文字_normal.jpgだが、任意の文字列+_normalのユーザーも存在する。
- ここは今確認出来ないけど、昔はアップロードする時のファイル名がほぼそのまま使われていた。マルチバイト文字は_ に置換されていたはず。だから_normalを単純に置換すると危ないかもしれない。「プロフィールimage.jpg」をアップすると「_____image_normal.jpg」になるという意味。_の数は適当。
- 拡張子はjpegとjpgの両方がある。加えてGIFとJPGの場合もある。
- さらに拡張子が無い場合もある。この場合ファイル名は「xxxxx_normal」だけとなる。
- 何も考えずpbs.twimg.comから画像を落としまくると、数分?程度で接続切られる。
sampleストリームを数分回して見つけたレアなURL
https://pbs.twimg.com/profile_images/1943255919/____11111_normal.jpg
https://pbs.twimg.com/profile_images/2178208013/1aU8XLEG_normal
https://pbs.twimg.com/profile_images/1279050067/__iso-2022-jp_B_GyRCJVUlISUkJWsbKEIwMDIyLmpwZw_____normal
https://pbs.twimg.com/profile_images/258987095/chessnerd2_normal.bmp
まとめ
- URLの拡張子は信じるな。実際にダウンロードしないとどうしようもない。
- _normalを置換する時は正規表現でちゃんと書くべし
profile_background_image_url_https
- カラ(null)になる事もある。空文字は無いかな
- キーは必ずあるっぽい
profile_banner_url
- キー自体が無い場合がある
- urlは https://pbs.twimg.com/profile_banners/12345678901234567890/1234567890 こんな感じ