2011-11-13 2 views
3

내 목표는 프로그래밍 방식으로 이베이 카테고리의 목록을 얻는 것입니다.프로그래밍 방식으로 API를 통해 eBay 범주 목록을 가져올 수 있습니까?

GetCategories 메서드는 Trading API에서만 사용할 수있는 것으로 보입니다. 올바르게 이해하면 Trading API에 로그인 할 때 사용자 상호 작용이 필요합니다. http://developer.ebay.com/DevZone/XML/docs/HowTo/Tokens/GettingTokens.html

이베이의 카테고리 목록을 프로그래밍 방식으로 가져 오는 다른 방법이 있습니까?

저는 PHP를 사용하여 Drupal 7을 사용하고 있습니다.

답변

11

범주를 가져 오는 데 토큰이 필요하지 않습니다. App-ID가 필요합니다.

APP-ID가있는 아래의 링크는 site : UK (siteid = 3) 에서 XML 범주 목록을 반환합니다. CategoryID = -1로 설정하면 루트 수준에서 목록이 시작되고 모든 카테고리에서 시작할 수 는 단지 구문 분석하는 SimpleXML을 또는 무엇이든을 사용하여 이제 아이들

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

를 얻을 수 IncludeSelector = ChildCategories를 사용합니다.

+0

최고, 감사를 가져 당신은 결과를 얻을 수가 휘어서 PHP를 사용할 수 있습니다 그리고 당신은 simple_xml_object에게를 사용할 수 있습니다! – Justin

+0

현재 루트 레벨 만 반환합니다 – Dejell

+0

Doom에는 모든 JSON 피드 또는 XML이 있습니까? 감사합니다 – Cjames

7

이번에는 정확했을 수도 있지만 API의이 호출은 전체 계층이 아닌 개의 레벨로 만 반환합니다. 전체 사이트에서이 작업을 수행하려면 하나의 요청 (매우 커질 수 있음)에서 GetCategories 호출을 유효한 Ebay 토큰으로 호출하고 <DetailLevel>ReturnAll</DetailLevel><ViewAllNodes>true</ViewAllNodes>을 지정해야합니다.

또한 정기적으로 업데이트하고 Ebay가 만료되면 매핑 알고리즘을 제공하고 시간이 지남에 따라 범주를 새 이름/ID로 다시 매핑해야합니다.

+2

감사합니다. robbie613. ViewAllNodes는 기본적으로 'true'- 테스트되므로 DetailLevel 만 필요합니다. – ekerner

0

다음 url을 사용하면 최상위 카테고리 목록을 얻을 수 있습니다. 범주 목록을 얻은 후에 [LeafCategory]이 true 또는 false인지 확인할 수 있습니다. 카테고리에 해당하는 경우 categoryParentId을 지정하여 하위 카테고리를 다시 가져올 수 있습니다. 반환 된 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; }

관련 문제