アマゾンのMWS APIで「the value of a query string parameter may not contain a '=' delimiter」というエラーが発生することがあります。
スポンサーリンク
この場合、Base64をエンコーディングして作成したSignatureの最後に「=」がついていることに気づきます。
まずは、そこで「=」を「%3D」とURLエンコーディングして試してみます。
すると、「The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.」
こうなってしまった場合、考えられるのは、TimestampなどがURLエンコーディングされていない状態でSignatureを生成したということです。
Signatureを計算する前に、すべてのパラメータをURLエンコーディングしておく必要があります。
例えば、Timestampは以下のようになります。
↓↓↓
Timestamp=2018-11-06T05%3A43%3A44Z