TwitterAPIを利用したプロフィール画像更新はcontent-typeがimage/*じゃないとコケる
TwitterAPIを利用したプロフィール画像更新はcontent-typeがimage/*じゃないとコケる。
正確にはステータス200が返ってくるけど、更新されないからもっとタチが悪い。
Twitter REST API Method: account?update_profile_image
curl、rubyによるサンプルコードが載ってるけど、「Expect」ヘッダは不要。
PEAR公式のServices_Twitterを利用していたが、update_profile_imageが上手くいかない。
まだドキュメントが整理されていないので、ソースを読むかテストをみて、利用法を確認したが問題なし。
リクエストをトレースしてみたところ、content-typeが「application/octet-stream」だったのが気になったので「image/jpeg」にしてみたところ、画像の更新に成功。
PEAR::HTTP_Request2でmime-typeが取得できなかった場合、「application/octet-stream」がセットされていたというオチ。
pecl::Fileinfoかmime_content_typeを利用するようになっていたけど、?with-mime-magicとかコンパイル時に指定していなかった件。