JavaScriptでProduct Advertising APIの認証が失敗する


HMAC-SHA256を計算し結果をbase64エンコード - AjaxTower
ここを見てJavaScriptでProduct Advertising APIを使おうと思ったのだけど、どうしても認証失敗する。
おかしいなぁ、おかしいなぁ、やだなぁこわいなぁって思ってたんですよ。
結果として、上記サイトで使用しているjssha256の仕様が変わったのか、求めるHMAC-SHA256を吐き出さなくなっていました。

そこで代替案。jsSHAを使用する。
Caligatio/jsSHA

sha.jssha256.js を読み込んでいる状態で

JavaScript
var sha = new jsSHA("Data", "TEXT");
var signature = sha.getHMAC("SecretKey", "TEXT", "SHA-256", "B64");

これでDataの署名が完成したぞ!やったね!