Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以通过编程方式通过API获取易趣类别列表?_Php_Drupal 7_Ebay Api - Fatal编程技术网

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

Php 是否可以通过编程方式通过API获取易趣类别列表?,php,drupal-7,ebay-api,Php,Drupal 7,Ebay Api,我的目标是以编程方式获取易趣类别列表 GetCategories方法似乎只能从交易API中获得。如果我理解正确,登录交易API需要用户交互: 是否有其他方法以编程方式获取易趣类别列表 我使用的是Drupal 7,所以PHP。获取类别不需要令牌。你所需要的只是你的应用程序ID 下面带有您的APP-ID的链接将从site:UK(siteid=3)返回XML类别列表 设置CategoryID=-1将在根级别启动列表,您可以从任何类别开始, 只需使用includexesor=ChildCategori

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

GetCategories方法似乎只能从交易API中获得。如果我理解正确,登录交易API需要用户交互:

是否有其他方法以编程方式获取易趣类别列表


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

获取类别不需要令牌。你所需要的只是你的应用程序ID

下面带有您的APP-ID的链接将从site:UK(siteid=3)返回XML类别列表 设置CategoryID=-1将在根级别启动列表,您可以从任何类别开始, 只需使用includexesor=ChildCategories即可获得子类


现在只需使用SimpleXML或任何东西进行解析。

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


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

您可以使用以下url获取顶级类别列表。获得类别列表后,可以检查[LeafCategory]是否正确。如果该类别为true,则可以通过指定categoryParentId再次获取子类别。您可以使用php Curl获取结果,然后使用simple\u xml\u object获取返回的xml响应

$url='';
$sXML=下载页面($url);
$oXML=simplexml\u load\u字符串($sXML);
打印(oXML);出口
函数下载页面($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_超时,15);
$retValue=curl\u exec($ch);
卷曲关闭($ch);
返回$retValue;

}

谢谢robbie613。请注意,只需要DetailLevel,因为ViewAllNodes默认为“true”-已测试。当前,它仅返回根级别是否有任何JSON提要或XML?谢谢工作,谢谢!谢谢如何获取子类别?另请参阅以获取SiteID列表。