Amazon API ItemLookup响应解析

时间:2016-09-27 14:21:58

标签: xml amazon-web-services xml-parsing amazon

在我的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个?我怎么能得到别人?

1 个答案:

答案 0 :(得分:0)

它是亚马逊API限制的一部分,每页只能收到10个项目,最多10页。所以前100名,但你可以改变你的搜索,以获得更多,但不是没有额外的搜索。