質問編集履歴

1

コードの説明の追加、試したことに対してのレスポンスの追加、参考資料の追加

2021/09/08 17:47

投稿

masH-works
masH-works

スコア0

test CHANGED
File without changes
test CHANGED
@@ -42,6 +42,8 @@
42
42
 
43
43
  ID等は変更して記載しております。
44
44
 
45
+ require部
46
+
45
47
  ```js
46
48
 
47
49
  const axios = require('axios')
@@ -52,7 +54,11 @@
52
54
 
53
55
  const cryptoJs = require('crypto-js')
54
56
 
55
-
57
+ ```
58
+
59
+ アクセストークンを取得する部分です。
60
+
61
+ ```js
56
62
 
57
63
  // AccessTokenの取得
58
64
 
@@ -90,7 +96,37 @@
90
96
 
91
97
  }
92
98
 
93
-
99
+ ```
100
+
101
+ この部分は成功しており、下記のレスポンスを取得できています。
102
+
103
+ ```json
104
+
105
+ { access_token:
106
+
107
+ 'Atza|hogehoge',
108
+
109
+ refresh_token:
110
+
111
+ 'Atzr|fugafuga',
112
+
113
+ token_type: 'bearer',
114
+
115
+ expires_in: 3600 }
116
+
117
+ ```
118
+
119
+
120
+
121
+ 署名キーを取得する部分です。
122
+
123
+ この部分は下記のページをもとに作成しています。
124
+
125
+ [署名バージョン 4 の署名キーを取得する方法の例](https://docs.aws.amazon.com/ja_jp/general/latest/gr/signature-v4-examples.html#signature-v4-examples-javascript)
126
+
127
+ を使用しています。
128
+
129
+ ```js
94
130
 
95
131
  const accessKey = 'IAM_AccessKey'
96
132
 
@@ -116,7 +152,19 @@
116
152
 
117
153
  }
118
154
 
119
-
155
+ ```
156
+
157
+
158
+
159
+ 実際にSP-APIにリクエストを送っている部分です。
160
+
161
+ `axios.get(url, { params: query, headers: headers })`
162
+
163
+ の部分までは下記の公式の手順に則って署名処理及びリクエストヘッダの作成を行い、署名は成功しました。
164
+
165
+ [署名バージョン 4 を使用した AWS リクエストへの署名](https://docs.aws.amazon.com/ja_jp/general/latest/gr/sigv4_signing.html)
166
+
167
+ ```js
120
168
 
121
169
  const order = (token) => {
122
170
 
@@ -172,7 +220,7 @@
172
220
 
173
221
  'x-amz-access-token': token,
174
222
 
175
- 'X-Amz-daTE': isoDate,
223
+ 'X-Amz-date': isoDate,
176
224
 
177
225
  'Authorization': `AWS4-HMAC-SHA256 Credential=${accessKey}/${credentialScope}, SignedHeaders=${signedHeaders},Signature=${signature}`
178
226
 
@@ -220,10 +268,14 @@
220
268
 
221
269
 
222
270
 
223
- アプリケーションのIAM ARNをuser,roleそれぞれに設定し試しました。
271
+ * アプリケーションのIAM ARNをuser,roleそれぞれに設定し試しました。
224
272
 
225
273
  下記のポリシーをアタッチしています。
226
274
 
275
+ これは下記のリンクを参考に行いましたが、レスポンスは変わりませんでした。
276
+
277
+ [Access to requested resource is denied 403 SP-API AMAZON - C#](https://stackoverflow.com/questions/64560163/access-to-requested-resource-is-denied-403-sp-api-amazon-c-sharp)
278
+
227
279
  ```json
228
280
 
229
281
  {
@@ -250,6 +302,98 @@
250
302
 
251
303
 
252
304
 
305
+ * ヘッダーの修正
306
+
307
+ ヘッダー設定部分を下記のように変更しました。
308
+
309
+
310
+
311
+ ```js
312
+
313
+ const headers = {
314
+
315
+ 'Content-Type': `${contentType}; charset=${charset}`,
316
+
317
+ 'Host': host,
318
+
319
+ 'User-Agent': userAgent,
320
+
321
+ 'X-Amz-Access-Token': token,
322
+
323
+ 'X-Amz-date': isoDate,
324
+
325
+ 'Authorization': `AWS4-HMAC-SHA256 Credential=${accessKey}/${credentialScope}, SignedHeaders=${signedHeaders},Signature=${signature}`
326
+
327
+ }
328
+
329
+ ```
330
+
331
+
332
+
333
+ ```js
334
+
335
+ const headers = {
336
+
337
+ 'Content-Type': `${contentType}; charset=${charset}`,
338
+
339
+ 'Host': host,
340
+
341
+ 'User-Agent': userAgent,
342
+
343
+ 'x-amz-access-token': token,
344
+
345
+ 'X-Amz-date': isoDate,
346
+
347
+ 'Authorization': `AWS4-HMAC-SHA256 Credential=${accessKey}/${credentialScope}, SignedHeaders=${signedHeaders},Signature=${signature}`
348
+
349
+ }
350
+
351
+ ```
352
+
353
+
354
+
355
+ X-Amz-Access-Tokenをすべて小文字に変更しました。
356
+
357
+ これは下記のIssueを参考に変更しました。
358
+
359
+ [Access token is missing in the request header. #292](https://github.com/amzn/selling-partner-api-docs/issues/292)
360
+
361
+ これにより、レスポンスは下記のように変わりました。
362
+
363
+
364
+
365
+ ```json
366
+
367
+ { errors:
368
+
369
+ [ { message: 'Access to requested resource is denied.',
370
+
371
+ code: 'Unauthorized',
372
+
373
+ details: 'Access token is missing in the request header.' } ] }
374
+
375
+
376
+
377
+ ```
378
+
379
+
380
+
381
+ ```json
382
+
383
+ { errors:
384
+
385
+ [ { message: 'Access to requested resource is denied.',
386
+
387
+ code: 'Unauthorized',
388
+
389
+ details: '' } ] }
390
+
391
+
392
+
393
+ ```
394
+
395
+
396
+
253
397
  ### 補足情報(FW/ツールのバージョンなど)
254
398
 
255
399
 
@@ -265,3 +409,5 @@
265
409
  6.14.4
266
410
 
267
411
  ```
412
+
413
+ [SP-API公式ドキュメント](https://github.com/amzn/selling-partner-api-docs/blob/main/guides/ja-JP/developer-guide/SellingPartnerApiDeveloperGuide(%E6%97%A5%E6%9C%AC%E8%AA%9E).md#step-6-register-your-application)