java - 如何通过 eBay 交易 API 中的 GetSellerList 调用获取商品的 UPC [Java]

标签 java ebay-api

我正在尝试使用 eBay Trading API 获取由 GetSellerList 调用返回的商品的 UPC。

我能够使用以下代码成功执行 API 调用:

public void getSellerItemsList() throws ApiException, SdkException, Exception
{
    String EBayProfile = "XXXXXXXXXXXX";
    String sellerID = "XXXXXXXXXXXXXX"; 
    ApiContext apiContext = getAPIContext(EBayProfile);

    GetSellerListCall getSellerList  = new GetSellerListCall ();
    getSellerList.setApiContext(apiContext);



    DetailLevelCodeType[] detailLevelCodeType = new DetailLevelCodeType[1];
    detailLevelCodeType[0] = DetailLevelCodeType.RETURN_ALL;
    getSellerList.setDetailLevel(detailLevelCodeType);






    Calendar fromTime = Calendar.getInstance();
    fromTime.add(Calendar.DAY_OF_MONTH, -3);

    Calendar toTime = Calendar.getInstance();
    toTime.setTime(Calendar.getInstance().getTime());


    TimeFilter startTimeFilter = new TimeFilter(fromTime, toTime);
    getSellerList.setStartTimeFilter(startTimeFilter);


    getSellerList.setUserID(sellerID);
    getSellerList.setEnableCompression(true);
    WarningLevelCodeType warningLevel = WarningLevelCodeType.HIGH;
    getSellerList.setWarningLevel(warningLevel);


    PaginationType paginationType = new PaginationType();
    paginationType.setEntriesPerPage(199);
    paginationType.setPageNumber(1);


    ItemType[] items = getSellerList.getEntireSellerList();




    for (ItemType item : items) {
        System.out.println("\nTitle: " + item.getTitle());


        // For some reason this value is always equal to null (never prints)
        if (item.getAttributeArray() != null) {

            AttributeArrayType attributeType = item.getAttributeArray();
            System.out.println("Attributes length: " + attributeType.getAttributeLength());

        }


        // For some reason this value is always equal to null (never prints)
        if (item.getProductListingDetails() != null) {
            UPC = item.getProductListingDetails().getUPC();
            System.out.println("UPC: " + UPC);  
        }  

        // For some reason this value is always equal to null (never prints)
        if (item.getVariations() != null) {
            VariationsType itemVariations = item.getVariations();

            for (int x = 0; x < itemVariations.getVariationLength(); x++) {
                VariationType variation = itemVariations.getVariation(x);
                VariationProductListingDetailsType variationListingDetails = variation.getVariationProductListingDetails();
                UPC = variationListingDetails.getUPC(); // UPC always missing

            }

        }




        // For some reason this value is always equal to null (never prints)
        if (item.getItemSpecifics() != null) {
            NameValueListArrayType itemSpecifics = item.getItemSpecifics();
            NameValueListType[] nameValueList = itemSpecifics.getNameValueList();


            }
        }
    }


}

调用成功执行,但 UPC 为空(无论我尝试从何处提取它,如前面的代码所示)。

eBay Docs明确说明此调用返回 UPC。

我做错了什么?

最佳答案

GetSellerList 不包含商品详细信息。

您必须使用 eBay 购物 API 调用 - GetSingleItem 和 IncludeSelector - ItemSpecifics 来获取 GetSellerList 结果中每个商品的 UPC

关于java - 如何通过 eBay 交易 API 中的 GetSellerList 调用获取商品的 UPC [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50335183/

相关文章:

java - 使用 JOOQ DSL API 在 VALUES() 上加入表

java - 即使 jars 包含在类路径中,Eclipse 类也未找到异常

java - 如何制作一个bat文件并用它来测试JUnit4测试套件而不使用Eclipse但使用命令行?

ebay-api - 易趣 API。筛选包含交货详细信息的 "awaiting postage"或 "unshipped"订单

limit - eBay API 调用限制

java - 使用递归统计嵌套列表中奇数长度或偶数长度的列表数量

java - 通过代码为 STS/WS-Trust 配置 CXF

python-3.x - API VBA 的 eBay 数字签名可以,但 Python 签名验证无法满足请求

json - Ebay API JSON 请求

javascript - 如何在 Node js 中保存表示为字符串的 zip 文件