回答編集履歴

1

追記修正

2019/06/06 13:33

投稿

CHERRY
CHERRY

スコア25171

test CHANGED
@@ -11,8 +11,6 @@
11
11
 
12
12
 
13
13
  エンドポイントとリクエストパラメータの組み合わせがあっていないように思われます。
14
-
15
-
16
14
 
17
15
 
18
16
 
@@ -38,10 +36,70 @@
38
36
 
39
37
 
40
38
 
41
-
42
-
43
39
  と指定されていますが、エンドポイントが、 `GetShoppingCategory` であれば、[カテゴリ検索](https://7af.omni7.jp/af_static_site/API2.html) に記載されている通り、共通パラメータ以外では、`CategoryCode` のリクエストパラメータしか使えません。 ( つまり、 `KeywordIn` は使えない。 )
44
40
 
45
41
 
46
42
 
47
43
  リクエストパラメータ `KeywordIn` を使うのであれば、[商品検索](https://7af.omni7.jp/af_static_site/API3.html) のエンドポイントの `SearchProduct` を使う必要があるのではないでしょうか?
44
+
45
+
46
+
47
+ ----
48
+
49
+ (追記)
50
+
51
+
52
+
53
+ API キーを取得して試してみました。
54
+
55
+
56
+
57
+ エンドポイントの問題を修正した上で、
58
+
59
+
60
+
61
+ > //API秘密鍵を用いてHMAC-SHA256で署名
62
+
63
+ > $hash = hash_hmac('sha256', $enc_str, $secret_key);
64
+
65
+
66
+
67
+
68
+
69
+ ```
70
+
71
+ $hash = hash_hmac('sha256', $enc_str, $secret_key, true);
72
+
73
+ ```
74
+
75
+ にすることで、
76
+
77
+
78
+
79
+ ```
80
+
81
+ {"SearchProductResponse":{"TotalAmount":"0","Products":""}}
82
+
83
+ ```
84
+
85
+
86
+
87
+ のようにエラーはでなくなり、データが取得されるようになりました。
88
+
89
+
90
+
91
+ `KeywordIn ` を API ページの例に有る `ペットフード` にすると
92
+
93
+
94
+
95
+ ```
96
+
97
+ {"SearchProductResponse":{"TotalAmount":"185","Products":{"Product":[{"ProductCode":"1106401787","ProductName":"ペットフード・ペット用医療品の最新動向","AffiliateUrl":"https://7af-ent.omni7.jp/relay/affiliate/entranceProcess.do?url=https%3A%2F%2F7net.omni7.jp%2Fdetail%2F1106401787&affid=2794940000006751&admainid=10000001&link=7&ver=1","PersonName":"有原圭三/監修","Manufacturer":"シーエムシー出版","IsbnCode":"978-4-7813-0872-2","SalesPrice":"75,600","Point":"700","ImageUrl":"https://img.omni7.jp/co/productimage/0001/product/87/1106401787/image/1106401787_main_m.jpg","ReleaseDate":"2014-04-03T05:49:27Z","Description":"関連法規・制度の解説、ペットフード製造技術を詳述"},
98
+
99
+ (以下略)
100
+
101
+ ```
102
+
103
+
104
+
105
+ のように JSON の取得が可能でした。