目前我正在使用eBay Trading API。 我想得到所有活跃的房源,但获得194。 我的卖家帐户中有2269个有效商家信息。 这是我的代码。
$curl_resource = $this->initialize_requests("GetSellerList", false);
$xmlStr="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<GetSellerListRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">
<RequesterCredentials>
<eBayAuthToken>".$this->userToken."</eBayAuthToken>
</RequesterCredentials>
<ErrorLanguage>en_US</ErrorLanguage>
<WarningLevel>High</WarningLevel>
<GranularityLevel>Coarse</GranularityLevel>
<StartTimeFrom>2017-06-21T06:38:48.420Z</StartTimeFrom>
<StartTimeTo>2017-08-23T06:38:48.420Z</StartTimeTo>
<IncludeWatchCount>true</IncludeWatchCount>
<Pagination>
<EntriesPerPage>50</EntriesPerPage>
</Pagination>
</GetSellerListRequest>";
$response = $this->getResponse($curl_resource, $xmlStr);
$responseObject = simplexml_load_string($response);
print_r($responseObject);
我想我应该在每次调用后更改<startTimeFrom>
和<startTimeTo>
,直到它返回null或其他内容。
或者有更好的方法吗?
答案 0 :(得分:1)
您需要在XML Feed中传递页码,因为eBay API每页只返回200个列表,因此您需要遍历API调用。
例如:
<?xml version="1.0" encoding="utf-8"?>
<GetMyeBaySellingRequest
xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>$this->auth_token</eBayAuthToken>
</RequesterCredentials>
<ActiveList>
<Sort>Title</Sort>
<IncludeNotes>FALSE</IncludeNotes>
<Pagination>
<EntriesPerPage>200</EntriesPerPage>
<PageNumber>$page_no</PageNumber>
</Pagination>
</ActiveList>
<HideVariations>FALSE</HideVariations>
<DetailLevel>ReturnSummary</DetailLevel>
<MessageID>$messageID</MessageID>
<Version>$this->api_version</Version>
<WarningLevel>High</WarningLevel>
</GetMyeBaySellingRequest>
答案 1 :(得分:1)
eBay在一次调用中返回200个条目作为响应,因此您需要通过在创建XML时传递分页索引中的PageNumber元素来遍历同一个调用。