アメブロへの記事投稿の前準備

題の通り、アメブロに記事を投稿する際に

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

 

SHA1MD5でdigestじゃなくてhexdigest使わないといけなかった。

こちらを参考にさせて頂きました

 

 

 

むーん、コードがやっぱり見づらい...