Можно ли программно получить список категорий eBay через API? - PullRequest
3 голосов
/ 14 ноября 2011

Моя цель - программно получить список категорий eBay.

Похоже, что метод GetCategories доступен только через Торговый API. Если я правильно понимаю, для входа в Trading API требуется взаимодействие с пользователем: http://developer.ebay.com/DevZone/XML/docs/HowTo/Tokens/GettingTokens.html

Есть ли другой способ получить список категорий eBay программно?

Я использую Drupal 7, поэтому PHP.

Ответы [ 3 ]

12 голосов
/ 16 ноября 2011

Вам не нужен токен для получения категорий. Все, что вам нужно, это ваш App-ID

Ссылка ниже с вашим APP-ID вернет список категорий XML с сайта: Великобритания (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 или что-то еще для разбора.

7 голосов
/ 27 февраля 2013

В то время это могло быть правильно, однако этот вызов в API теперь возвращает только один уровень категорий, а не всю иерархию.Чтобы сделать это для всего сайта, в одном запросе (который может быть довольно большим) вам нужно использовать вызов GetCategories с действительным токеном Ebay и указать <DetailLevel>ReturnAll</DetailLevel> и <ViewAllNodes>true</ViewAllNodes>.

Также обратите внимание, что вам нужно будет регулярно обновлять их и предоставлять алгоритм сопоставления по мере истечения срока действия Ebay и переназначения категорий на новые имена / идентификаторы со временем.

0 голосов
/ 18 декабря 2014

Вы можете использовать следующий URL, чтобы получить список категорий верхнего уровня.Как только вы получите список категорий, вы можете проверить, является ли [LeafCategory] истинным или ложным.Если это верно для категории, вы можете снова получить подкатегорию, указав categoryParentId .Вы можете использовать php Curl , чтобы получить результаты, а затем вы можете использовать simple_xml_object , чтобы получить возвращенный ответ xml $url= '<a href="http://open.api.ebay.com/Shopping?callname=GetCategoryInfo&appid=YOUR-APP-ID&siteid=3&CategoryID=-1&version=729&IncludeSelector=ChildCategories" rel="nofollow">http://open.api.ebay.com/Shopping?callname=GetCategoryInfo&appid=YOUR-APP-ID&siteid=3&CategoryID=-1&version=729&IncludeSelector=ChildCategories</a>'; $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; }

...