2016-09-27 5 views
0

웹 응용 프로그램에서 Amazon API 'ItemLookup'요청을 받고 응답을 얻습니다. 예를 들어 amazon.com에서 "iPhone 7"의 모든 ASIN을 가져 오려면 다음과 같이 요청하십시오.Amazon API ItemLookup 응답 구문 분석

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 클래스 : XML 문서로

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; 
    } 

그래서 내가 갖는 응답. 모든 것이 정상이지만 왜 최대 10 명의 ASIN이 발생하는지 궁금합니다. 문서의 TotalResults 속성을 확인한 결과 10000 개 이상의 결과가 있어야하지만 응답으로 10 개만 볼 수 있습니까? 나는 어떻게 다른 사람들을 얻을 수 있습니까?

답변

0

amazon API의 일부로 페이지 당 10 개의 항목과 최대 10 개의 페이지 만 수신합니다. 그래서 최고 100 그러나 추가 검색없이 더 많은 것을 얻기 위해 검색을 변경할 수 있습니다.