2011-11-13 80 views

回答

11

您不需要令牌即可獲取類別。所有你需要的是你的App-ID

下面與您的APP-ID的鏈接將返回XML類從網站列表:英國(SITEID = 3) 設置類別ID = -1在根級開始列表,你可以從任何類別開始, 只需使用IncludeSelector = ChildCategories讓孩子

http://open.api.ebay.com/Shopping?callname=GetCategoryInfo&appid=YOUR-APP-ID&siteid=3&CategoryID=-1&version=729&IncludeSelector=ChildCategories

現在只使用了SimpleXML或任何解析。

+0

真棒,謝謝! – Justin

+0

目前,它只返回根級別 – Dejell

+0

是否有任何JSON訂閱源或XML?謝謝 – Cjames

7

這可能在當時是正確的,但是在API中的這個調用現在只返回一個級別的類別,而不是整個層級。要爲整個網站執行此操作,在一個請求(可能會很大)中,您需要使用帶有效Ebay令牌的GetCategories呼叫,並指定<DetailLevel>ReturnAll</DetailLevel><ViewAllNodes>true</ViewAllNodes>

另請注意,您需要定期更新這些內容,並提供映射算法,因爲隨着時間的推移,Ebay會過期並將類別重新映射到新名稱/ ID。

+2

謝謝robbie613。請注意,由於ViewAllNodes默認爲'true',因此只需要DetailLevel。 – ekerner

0

您可以使用以下URL來獲取頂級類別列表。一旦獲得類別列表,您可以檢查[LeafCategory] ​​是否爲真或假。如果該類別屬實,則可以通過指定categoryParentId來再次獲取該子類別。您可以使用PHP 得到的結果,然後你可以使用simple_xml_object來獲取返回的XML響應 $url= ' http://open.api.ebay.com/Shopping?callname=GetCategoryInfo&appid=YOUR-APP-ID&siteid=3&CategoryID=-1&version=729&IncludeSelector=ChildCategories '; $sXML = download_page($url); $oXML = simplexml_load_string($sXML); print_r($oXML);exit; function download_page($path){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$path); curl_setopt($ch, CURLOPT_FAILONERROR,1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT, 15); $retValue = curl_exec($ch); curl_close($ch); return $retValue; }

相關問題