1

有谁知道如何使用 ebay API 按站点(ebay.us、ebay.fr ..)检索项目的完整列表?我正在使用大型商家服务,因为我在每个站点上管理着数千件商品(大约 100k)。 https://developer.ebay.com/devzone/large-merchant-services/concepts/lms_apiguide.html

我尝试过的第一个解决方案(活动库存报告)根据文档:检索活动库存报告

ActiveInventoryReportRequest 允许您按 SKU 下载所有活动列表的描述。SKU 详细信息包括 ItemID、Price、Quantity、SKU 和 SiteID。

我已经与高级支持进行了检查,并且有一个错误,SiteID从未包含在响应中。

第二个解决方案(GetSellerList)

https://developer.ebay.com/devzone/xml/docs/reference/ebay/GetSellerList.html

根据文档:

GetSellerList 每次调用最多返回 5,000 个项目(如果您未指定详细级别,则可以这样做,从而为每个项目返回最小的数据集)。但是,如果您指定任何 DetailLevel 值(从而增加为每个项目返回的字段),您可能需要使用 Pagination 值来获取完整的结果集。如果您使用 DetailLevel,则每次调用的响应最多可以包含 200 个项目。

所以不能使用这个,因为限制为 5000 个项目,我不知道什么时候添加了项目,几年前有一堆。

有任何想法吗?

问候

4

1 回答 1

0

您可以使用 GetSellerList 获得超过 5,000 个结果,但您是对的,一次只能获得 200 个。下面的代码是循环的一部分,直到 HasMoreItems 为 false。代码用 Perl 编写并使用 Net::eBay 进行连接。

my $result = $eBay->submitRequest( "GetSellerList",
                               {
                UserID => "$ebay_settings{'ebay_account'}",

                GranularityLevel => 'Medium',

                EndTimeFrom => "$start_time",

                EndTimeTo => "$end_time",

                                    Pagination => {
                                                  EntriesPerPage => 200,
                                                  PageNumber => $page_number
                                                  }


                               }
                             );



if( ref $result ) {

$result->{HasMoreItems} eq "false" and $done = "Y";

}
于 2016-07-14T14:24:26.073 回答