2013/03/06

Twitter API v1.1でサイズが大きいプロフィール画像を取得する

Twitter API v1が3/5日で段階的に終了しますね。新しいAPIは、v1.1ですがいくつか互換性のないものがあるようです。廃止されるAPIの中に、プロフィール画像取得のAPIがあります。この記事では、v1.1 APIでどのようにプロフィール画像を取得するのか説明してみます。

APIの互換性

v1でのプロフィール画像取得APIは、こんなものでした。sizeパラメータを指定することで、大きめの画像も取得できていました。ちなみに、Twitter認証が必要なので以下のURLを直接叩いても取得できません。

http://api.twitter.com/1/users/profile_image?screen_name=ユーザー名&size=bigger


v1.1ではこのAPIは廃止され、代替となるAPIはなさそうなので、/users/show でユーザー情報を取得し、プロフィール画像URLprofile_image_url を使うしかなさそうです。

{
  "profile_sidebar_fill_color": "F8FCF2",
  "profile_sidebar_border_color": "547980",
  "profile_background_tile": true,
  "name": "Ryan Sarver",
  // ↓これ
  "profile_image_url": "http://a0.twimg.com/profile_images/1777569006/image1327396628_normal.png",
  "created_at": "Mon Feb 26 18:05:55 +0000 2007",
  "screen_name": "rsarver",
  ...
}

大きいサイズ

ただ、profile_image_url では、通常サイズのプロフィール画像しか取得できず、v1のsizeパラメータもないため、大きめのサイズの画像が取得できません。いろいろ試行錯誤した結果、profile_image_url のURLに含まれる normal を bigger に置換すれば、少しですが大きめの画像が取得できるようです。

/profile_images/1777569006/image1327396628_normal.png
/profile_images/1777569006/image1327396628_bigger.png  (normal→bigger)

無理やりですけどね。応急措置としてご利用ください。

0 件のコメント:

コメントを投稿