【问题标题】:Is it possible to get the eBay Category List via an API programmatically?是否可以通过 API 以编程方式获取 eBay 类别列表?
【发布时间】:2011-11-13 20:47:37
【问题描述】:

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

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

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

我使用的是 Drupal 7,所以是 PHP。

【问题讨论】:

    标签: php drupal-7 ebay-api


    【解决方案1】:

    您不需要令牌来获取类别。您所需要的只是您的 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 或其他任何东西来解析。

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 谢谢 robbie613。请注意,由于 ViewAllNodes 默认为“true”,因此只需要 DetailLevel - 已测试。
    【解决方案3】:

    您可以使用以下网址获取顶级类别列表。获得类别列表后,您可以检查 [LeafCategory] 是真还是假。如果类别为真,您可以通过指定 categoryParentId 再次获取子类别。您可以使用 php Curl 来获取结果,然后您可以使用 simple_xml_object 来获取返回的 xml 响应 $url= '@987654321@'; $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; }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-12
      相关资源
      最近更新 更多