アメブロへの記事投稿の前準備
題の通り、アメブロに記事を投稿する際に
X-WSSEでの認証が必要になるけど、そこに手間取ったのでメモ
def x_wsse(name, pass)
pass = Digest::MD5.hexdigest(pass).downcase
now = DateTime::now.strftime("%Y-%m-%dT%H:%M:%SZ")
nonce = Digest::SHA1.hexdigest(Time.now.to_i.to_s + now)
digest = Base64.encode64([Digest::SHA1.hexdigest(nonce + now + pass)].pack("H*")).chomp
{ "X-WSSE" => sprintf(
%Q<UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s">,
name, digest, Base64.encode64(nonce).chomp, now)
} # x-wsse
end
SHA1とMD5でdigestじゃなくてhexdigest使わないといけなかった。
こちらを参考にさせて頂きました
むーん、コードがやっぱり見づらい...