是否可以通过API以编程方式获取eBay类别列表?

时间:2011-11-13 20:47:37

标签: php api drupal-7 ebay

我的目标是以编程方式获取易趣类别列表。

GetCategories方法似乎只能从Trading API获得。如果我理解正确,登录Trading API需要用户交互: http://developer.ebay.com/DevZone/XML/docs/HowTo/Tokens/GettingTokens.html

是否有另一种以编程方式获取易趣类别列表的方法?

我正在使用Drupal 7,所以PHP。

3 个答案:

答案 0 :(得分:12)

您不需要令牌来获取类别。您只需要您的App-ID

以下链接与您的APP-ID将返回网站的XML类别列表:UK(siteid = 3) 设置CategoryID = -1会在根级别启动列表,您可以从任何类别开始, 只需使用IncludeSelector = ChildCategories来获取孩子

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

现在只需使用SimpleXML或其他任何解析。

答案 1 :(得分:7)

当时这可能是正确的,但是现在API中的此调用仅返回一级类别,而不是整个层次结构。要在整个网站上执行此操作,在一个请求中(可能会变得非常大),您需要使用带有效Ebay令牌的 GetCategories 调用,并指定<DetailLevel>ReturnAll</DetailLevel>和{{1} }。

另请注意,您需要定期更新这些内容,并在Ebay过期时提供映射算法,并将类别重新映射到新名称/ ID。

答案 2 :(得分:0)

您可以使用以下网址获取顶级类别列表。获得类别列表后,您可以检查 [LeafCategory] ​​是真还是假。如果该类别属实,您可以通过指定 categoryParentId 再次获取子类别。您可以使用 php Curl 来获取结果,然后您可以使用 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; }

相关问题