Twitterのbotでアイコン変更をちょくちょくやってますが
わりと簡単にできるので書いておきます。
curl -u ユーザーID:ユーザーパスワード -H 'Expect:' -F
image=@'アイコンファイルパス;type=image/png'
http://twitter.com/account/update_profile_image.xml
これだけです。これだけでできます。
ちなみに
ここ
の一番下に書いてあります。
そこそこ失敗するのでリトライ処理は付けた方が良いと思います。
以下rubyによるサンプル↓
require 'systemu'
# パラメータはアイコンファイル名
# 3回リトライする
def change_icon(icon_name)
command_str = "curl -u #{@user_id}:#{@user_pass} -H 'Expect:' -F image=@'/home/bot/icon/#{icon_name};type=image/png' http://twitter.com/account/update_profile_image.xml"
3.times do |retry_count|
out = ''
systemu command_str, :out => out
/<profile_image_url>(.*)<\/profile_image_url>/ =~ out
if !$1.blank?
p "アイコンチェンジ完了 #{icon_name}"
return $1
else
p "アイコンチェンジ失敗 #{icon_name} wait 30"
sleep(30)
end
end
return nil
end