俺、サービス売って家買うんだ

Swift, Kotlin, Vue.js, 統計, GCP / このペースで作ってればいつか2-3億で売れるのがポっと出来るんじゃなかろうか

Twitter APIで取得したプロフィール画像のサイズを変更する

f:id:ie-kau:20170418002246p:plain


Twitter認証でプロフィール画像を引っ張ってきた時にそのサイズを変更したいことって結構ありますよね。 なにも考えなければuserオブジェクトのprofile_image_urlというプロパティから48px x 48pxの画像が取得できます。

画像が小さい

ただ、48px x 48px というサイズなので、そのままユーザーアバターとして利用するには少し小さいサイズです。
画像のサイズを変更したい場合は画像URLサフィックス部分の _normal を _bigger にしてやることで73px x 73pxにすることが出来ます。

これを https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_normal.png

こうする https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png https://pbs.twimg.com/profile_images/2284174872/7df3h38zabcvjylnyfe3_bigger.png

APIにパラメータを渡してサイズを変更できるようなものでもないので、今のところ文字列置換で対応する他ないようです。

プロフィール画像を設定してない場合

ユーザーがプロフィール画像を設定してない場合はnullが返ってきて、アプリケーション側で面倒を見てあげないとエラーになっちゃわないかと心配だったのですが、どうやらtwitter側でデフォルトの画像を用意してくれているようです。

これ↓

f:id:ie-kau:20170417235018p:plain

当然こちらも _normal , _biggerのサフィックスをつければサイズを変更することが可能です。

参考

詳細ドキュメントでは、より小さいサイズ(_mini)やオリジナルの画像を取得する方法も書いてありますので是非ご確認あれ。