2012-01-09 5 views
0

나는 찾는 API를 사용하여 eBay에서 드레스 이미지 데이터베이스를 얻기위한 프로그램을 작성하려고하는 초보자입니다. Java로 프로그래밍하고 Windows 7 OS를 사용하고 있습니다. 사용자가 검색 할 키워드를 가져온 후 FindItemsAdvanced 호출을 사용하여 해당 카테고리 아래의 제품 목록을 가져 왔습니다. 색상, 소매 길이 등과 같은 각 항목의 속성을 얻고 싶습니다.이를 위해 AspectHistogramContainer를 사용하여 측면과 값을 가져 왔습니다. 코드 조각은 다음과 같습니다 :ebay에서 AspectHistogramContainer를 사용하는 방법 API를 찾으시겠습니까?

AspectHistogramContainer aspectContainer=new AspectHistogramContainer(); 
aspectContainer=advanceResponse.getAspectHistogramContainer(); 
aspectContainer.setDomainDisplayName(keywords); 
aspectContainer.setDomainName(keywords);    
List<Aspect> aspectList=aspectContainer.getAspect(); 
for(Aspect aspect:aspectList) 
{    
    System.out.println(aspect.getName()); 
    List<AspectValueHistogram> aspectValueList= aspect.getValueHistogram(); 
    for(AspectValueHistogram aspectValue:aspectValueList) 
    { 
     System.out.println(aspectValue.getValueName()); 
     } 
} 

advanceResponse는 FindItemsAdvancedResponse 개체입니다.

하지만 AspectHistogramContainer는 항상 null이됩니다. 즉, 항목에 애스펙트가 없습니다. AspectHistogramContainer에서 필요로하는 리프 범주 만 입력으로 제공했습니다. 나는 모든 길을 시도했지만 그 이유를 찾을 수 없습니다. 누군가 잘못했는지 말해 줄 수 있습니까? 미리 감사드립니다!

답변

1

알아 냈어! GetHistogramRequest 객체의 카테고리 ID를 설정 한 다음 해당 객체를 사용하여 AspectHistogramContainer를 가져와야했습니다.

GetHistogramsRequest abcd = new GetHistogramsRequest(); 
abcd.setCategoryId(CatID.toString()); 
GetHistogramsResponse bb = port.getHistograms(abcd); 
advanceResponse.setAspectHistogramContainer(bb.getAspectHistogramContainer()); 
AspectHistogramContainer aspectContainer=new AspectHistogramContainer(); 
aspectContainer=advanceResponse.getAspectHistogramContainer(); 
aspectContainer.setDomainDisplayName(keywords); 
aspectContainer.setDomainName(keywords);    
List<Aspect> aspectList=aspectContainer.getAspect(); 
for(Aspect aspect:aspectList) 
{    
    System.out.println(aspect.getName()); 
    List<AspectValueHistogram> aspectValueList= aspect.getValueHistogram(); 
    for(AspectValueHistogram aspectValue:aspectValueList) 
    { 
     System.out.println(aspectValue.getValueName()); 
     } 
} 

CATID는 카테고리 ID이며 advanceResponse는 FindItemsByAdvanceRequestObject.But이 여전히 각 카테고리 아래 측면을 제공입니다 : 코드 조각은 다음과 같습니다. 해당 카테고리에서 각 항목의 특정 측면을 얻으려면 애스펙트 필터를 사용해야합니다. 애스펙트 필터의 각 애스펙트에 대한 애스펙트 값을 초기화하는 방법과 응답을 애스펙트 객체와 연관시키는 방법에 대해서는 잘 모르겠습니다. 어떤 아이디어?

관련 문제