回答編集履歴

1

特記事項を追記

2017/05/19 05:54

投稿

lazhuward
lazhuward

スコア1294

test CHANGED
@@ -37,3 +37,37 @@
37
37
 
38
38
 
39
39
  [署名バージョン 4 テストスイート](https://docs.aws.amazon.com/ja_jp/general/latest/gr/signature-v4-test-suite.html) も提供されていますので活用してみてください。
40
+
41
+
42
+
43
+ ---
44
+
45
+ # 追記
46
+
47
+ [Amazon MWS のクライアントライブラリの使用](http://docs.developer.amazonservices.com/ja_JP/dev_guide/DG_ClientLibraries.html#DG_OwnClientLibrary__Signatures)
48
+
49
+ ここを見ますと、以下のように書かれていました。
50
+
51
+
52
+
53
+ > UTF-8クエリ文字列コンポーネントを、パラメータ名で自然バイトオーダー順にソートします(natural byte order)。
54
+
55
+ > パラメータは、GETの場合 URI または POSTの場合ボディから取得できます。
56
+
57
+ > (Content-Type が application/x-www-form-urlencoded の場合)パラメータ名と値を、以下のルールに従ってURLエンコードします。
58
+
59
+ >
60
+
61
+ > ・RFC3986で規定された非予約文字はURLエンコードしてはいけません。
62
+
63
+ >  非予約文字とは、A-Z、a-z、0-9、ハイフン(-)、アンダーバー(_)、ピリオド(.)、 およびチルダ( ~ )です。
64
+
65
+ > ・その他の文字は%XYパーセントエンコードが必要です (XおよびYには16進数のHEX文字の0-9および大文字のA-Fが入る)。
66
+
67
+ > ・拡張UTF-8文字については、%XY%ZA…のようにパーセントエンコードします。
68
+
69
+ > ・スペース(空白)文字は、パーセントエンコードして%20と表記します。多くのエンコーディングで行われる、+ では表現しないよう気をつけてください。
70
+
71
+
72
+
73
+ サンプルソースコードでは、BASE64(utf-8)で暗号化したものをURLにエンコードしていますが、その後にリプレースさせてますね。