2017-08-24 36 views
0

目前我正在使用eBay交易API。 我想獲得所有活躍的房源,但獲得194. 我在我的賣家帳戶中有2269個活躍房源。 這是我的代碼。使用GetSellerList獲取所有房源

$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或東西。 還是有更好的方法來做到這一點?

回答

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

易趣返回200個條目在單個呼叫的響應,所以你通過通過傳遞的PageNumber元件在分頁索引而創建XML相同呼叫需要循環。

+1

是的,謝謝。我已經做到了。 –

+0

你有你的解決方案嗎? – CedCommerce

+0

是的..我有解決方案。 –