黒川仁の文具堂ブログ三昧

Hitoshi Kurokawa, an engineer at Next SeeD

Archive for 6月, 2009

Rubyで電子署名 Amazon アソシエイト Web サービス

leave a comment


Amazon Web Services

2009年8月15日からAmazon Web Servicesを利用するときはアクセスキーだけではなく電子署名も埋め込む必要があるというメールが来ていた。

まあ、アクセスキーが分かれば誰でもリクエスト出来るというのは
いかがなものかなとは思っていたところだったので良いことかと。

と言うことで、電子署名をする方法をRubyで確認。

さて、このたび、Amazon アソシエイト Web サービスの名称を、「Product Advertising API」と変更しましたことをお知らせいたします。この新名称は、開発者の皆様が Amazon サイトで販売されている商品の広告作成を行い、これによって Amazon より広告費を受け取るという、API の目的をより正しく表しています。

名称変更にともない、Product Advertising API にリクエストを送信いただく都度、認証のための電子署名を含めていただくことが必要になります。この変更は、2009年5月11日より3ヶ月の間の移行期間の後、2009年8月15日には、Product Advertising API へ送信されるリクエストは全て認証されることとなり、認証されない場合、リクエストは処理されなくなります。

以前はリクエストのURIにアクセスキーを埋め込みさえすれば良かったけど
今度はsecret keyを使って認証しなければならないとのこと。

secret keyは「Product Advertising API」のアカウントにログインして
「Access Identifiers」で確認できる。

amazon1

署名については以下のサイトを参考にした。
Amazon Product Advertising APIの認証の件 zorioの日記

Base64.encode64の文末に改行コードが入ることを知らずにいたことが原因で小一時間はまってしまった。

RubyのBase64エンコード ayucatのRuby/Rails日記

オフィシャルのマニュアル
Product Advertising API Request Authentication

require "cgi"
require "openssl"
require "base64"
require "digest/sha2"
require "time"

aws_host   = "webservices.amazon.co.jp"

access_key = '00000000000000000000'
secret_key = '1234567890'

req = ["Service=AWSECommerceService","AWSAccessKeyId=#{access_key}",
"Version=2009-06-01"]

req << "ItemId=0679722769"
req << "Operation=ItemLookup"
req << "ResponseGroup=ItemAttributes%2COffers%2CImages%2CReviews"
req << "Timestamp=#{CGI.escape(Time.now.getutc.iso8601)}"

req.sort!

message = ['GET',aws_host,'/onca/xml',req.join('&')].join("\n")

hash = OpenSSL::HMAC::digest(OpenSSL::Digest::SHA256.new,
secret_key, message)

sign = Base64.encode64(hash).split.join

req << "Signature=#{CGI.escape(sign)}"

url = "http://#{aws_host}/onca/xml?" + req.join('&')

puts url

Perlについては小飼 弾さんの「404 Blog Not Found」を見ておけば大丈夫だ。
perl - URI::Amazon::APA released! 404 Blog Not Found

Written by 黒川仁(文具堂)

6月 28th, 2009 at 7:19 pm

初恋の人から仁さんへお手紙が届きました。

leave a comment

仁、ひさしぶり。
今でもポニーテールに執着していますか?「ポニーテールじゃなきゃ女じゃない」と毎日私に言っていた仁をなつかしく思います。

泣きじゃくる私に仁が「好きだけど別れなくてはいけないときもある」などときれいごとを並べてお別れすることになったあの日から、もう16年が経ったのですね。月日が流れるのは早いものです。

お手紙を書いたのは、何か伝えたいことがあるとか用事があるとかではないんです。ただなんとなく学校の前を通ったらなつかしくなって、思いつくままに書いてみようと思い立っただけなんです。ふふ。

思い返してみると、あのころは仁はとても優しくて、大人びていたなぁと思います。私は素直になれなかったから、平気で「仁はどうせ胸さえ大きければいいんだよね!」なんて責めるようなことを言ったけど、仁は「そんなことはないよ。カラダ全体が大事だよ」って優しく諭してくれたのを覚えています。少しヒドイと思ったけれど今でも心に響いています。

私はともかく仁にとっては初恋の相手が私だったんですよね。そうそう、最初のころの仁は、手をつないだときに手汗をびっしょりかいていましたね。家に帰ってからすぐ洗ったけど、仁が幸せそうだったからそれでいいんです(笑)。

まだ付き合い始めたころ、仁は気分が盛り上がって「いつか必ず結婚しような」って言っていましたよね。私は適当にごまかしましたが、嬉しそうな仁の顔を忘れません。今思えば完全に詐欺ですけど、今でもみんなにそう言っていますか?

恋愛を総合的に考えれば、私は仁と付き合えてよかったなぁと思います。当時は少し恥ずかしかったし疲れたけれど、私が男性のように強くなれたのも、仁がどこか頼りなかったおかげだと思っています。

いろいろ書きましたが、私は仁のことがそれでも好きでした。これからも仁らしくいられるよう、そして当時のように武器屋になる夢をあきらめないで(笑)、幸せをふりまいてください。

またいつか会いましょう。では。

P.S. まだバク転の練習はしていますか?

Written by 黒川仁(文具堂)

6月 23rd, 2009 at 7:16 pm

Posted in 日々精進

会社のある場所

leave a comment

会社のある場所について違和感があった。

このブログ記事をよんでようやく気づいた。

祐川 京子のブログ

会社のある場所は「所在地」なのに
「住所」と表記する人が意外と多いことに気付いた

そうか、会社のある場所は「所在地」と書けばよいのだ。
ずっと住所と書いてた気がする。

Written by 黒川仁(文具堂)

6月 20th, 2009 at 6:25 pm

Posted in 日々精進

もり天

leave a comment

090603_1336~01.JPG

山形出張中

Written by mobile

6月 3rd, 2009 at 1:50 pm

Posted in 日々精進