在我的Web应用程序中执行Amazon API“ItemLookup”请求,获取响应,例如我想在amazon.com上获取“iPhone 7”的所有ASIN,我的请求看起来像这样:
public class Application {
public static void main(String[] args) {
List<String> foundASINs = new ArrayList<>();
Map<String, String> params = new HashMap<>();
params.put("Operation", "ItemSearch");
params.put("ResponseGroup", "ItemIds");
params.put("Keywords", "iphone 7");
params.put("SearchIndex", "Wireless");
AwsRequest request = new AwsRequest();
String res="";
try {
request.getRequest(params);
和AwsRequest类:
public Document getRequest (Map<String, String> params) throws IOException, NoSuchAlgorithmException, InvalidKeyException, ParserConfigurationException, SAXException {
params.put("Service", "AWSECommerceService");
params.put("AssociateTag", ASSOCIATE_TAG);
params.put("Version", "2016-09-27");
SignedRequestsHelper helper = SignedRequestsHelper.getInstance(ENDPOINT, AWS_ACCESS_KEY_ID, AWS_SECRET_KEY);
String requestUrl = helper.sign(params);
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(requestUrl);
return doc;
}
所以我得到了XML文档的响应。 一切都好,但我想知道为什么我最多得到10个ASIN?如果我检查文件的TotalResults属性,那么必须有10000多个结果,但作为回应我只能看到10个?我怎么能得到别人?
答案 0 :(得分:0)
它是亚马逊API限制的一部分,每页只能收到10个项目,最多10页。所以前100名,但你可以改变你的搜索,以获得更多,但不是没有额外的搜索。