eBay API-PHP中的FindItemAdvanced调用不返回任何响应
我试图使用ebays搜索API执行一个简单的调用,当我调用时,我没有得到响应,问题是实际调用本身eBay API-PHP中的FindItemAdvanced调用不返回任何响应,php,xml,ebay-api,Php,Xml,Ebay Api,我试图使用ebays搜索API执行一个简单的调用,当我调用时,我没有得到响应,问题是实际调用本身 $endpoint = 'http://open.api.ebay.com/shopping?'; $responseEncoding = 'XML'; $version = '631'; // API version number $appID = 'asdf3e6e3'; $itemType = "AllItemTypes"; $itemSort = "EndTime";
$endpoint = 'http://open.api.ebay.com/shopping?';
$responseEncoding = 'XML';
$version = '631'; // API version number
$appID = 'asdf3e6e3';
$itemType = "AllItemTypes";
$itemSort = "EndTime";
//find items advanced
$apicalla = "$endpoint"
."callname=FindItemsAdvanced"
."&version=$version"
."&siteid=0"
."&appid=$appID"
."&MaxEntries=10"
."&ItemSort=EndTime"
."&ItemType=AllItemTypes"
."&IncludeSelector=SearchDetails"
."&responseencoding=$responseEncoding";
$resp = simplexml_load_file($apicalla);
此调用相当于
http://open.api.ebay.com/shopping?callname=FindItemsAdvanced&version=631&siteid=0&appid=asdf3e6e3&MaxEntries=10&ItemSort=EndTime&ItemType=AllItemTypes&IncludeSelector=SearchDetails&responseencoding=XML
我的问题是,我在做这个简单的搜索呼叫时遗漏了什么?看起来您正在尝试使用易趣的,特别是
FindItemAdvanced
呼叫,我认为它在很久以前就被弃用了,可能不再起作用(我在呼叫参考中不再看到它)。您要做的是使用易趣的
首先,您需要稍微更改API端点和查询字符串参数(有关详细信息,请参阅前面提到的FindItemAdvanced
调用参考,但我相信它看起来更像这样(我至少6个月没有接触过我的FindItemAdvanced
调用,所以我没有测试过这个):
除此之外,要使用findItemAdvanced
,必须按类别(categoryId
)或关键字(关键字
)指定要搜索的内容,因此出现“请指定查询!”错误消息
因此,您还需要添加以下内容(假设为关键字):
给你以下信息:
$endpoint = 'http://svcs.ebay.com/services/search/FindingService/v1?';
$responseEncoding = 'XML';
$version = '1.8.0'; // API version number (they're actually up to 1.11.0 at this point
$appID = 'asdf3e6e3';
$itemSort = "EndTimeSoonest";
$keywords = "something"; // make sure this is a valid keyword or keywords
//find items advanced
$apicalla = "$endpoint"
."OPERATION-NAME=findItemsAdvanced"
."&SERVICE-VERSION=$version"
."&GLOBAL-ID=EBAY-US"
."&SECURITY-APPNAME=$appID"
//."&MaxEntries=10" // look for an equivalent for this (maybe paginationInput.entriesPerPage?)
."&sortOrder=$itemSort"
//."&ItemType=AllItemTypes" // not needed AFAICT, otherwise look at itemFilterType
."&descriptionSearch=true";
."& RESPONSE-DATA-FORMAT=$responseEncoding"
."&keywords=" . urlencode($keywords);
$resp = simplexml_load_file($apicalla);
最后一点注意:如果您想加载在结果中找到的特定项目的更多详细信息,您仍然需要使用购物API(特别是&calls)。因此,您可能最终会混合使用购物和查找API。它应该类似于:
<?php
$url = 'http://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsAdvanced&SERVICE-VERSION=1.11.0&SECURITY-APPNAME=YOUR_APP_ID&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&paginationInput.entriesPerPage=2&keywords=ipod&siteid=203&GLOBAL-ID=EBAY-IN';
$xml = file_get_contents( $url );
$xml = simplexml_load_string( $url );
?>
登录您的易趣开发者帐户并单击此链接:
希望这能有所帮助。如果您尝试
echo file\u get\u contents($apicalla),您会得到什么回报吗
?如果没有,那么您就有了通信问题-url fopen可能被禁用,来自服务器的传出http请求可能被阻止,易趣可能已将您的IP列入黑名单,等等…很抱歉,它确实打印了一些内容,但我之前打过一个getMostBooks电话,似乎工作正常。它返回2012-05-02T19:05:05.024Z故障请cify a query!请指定查询!10.1错误请求错误E771_CORE_BUNDLED_14784928_R1 771
这并没有解决问题,我认为通话串中缺少一些内容我得到了类似于2012-05-02T22:04:39.405Z成功E771_CORE_BUNDLED_14784928_R1 150803837554 2012-05-02T22:04:39.000Z
的内容,然后是ebay URL SLO仔细查看您的查询,我发现您实际上是在尝试使用购物API中的旧FindItemAdvanced
,我相信它已经永远消失了。您将希望使用Finding API中的FindItemAdvanced
。我已经广泛地更新了我的答案。
$endpoint = 'http://svcs.ebay.com/services/search/FindingService/v1?';
$responseEncoding = 'XML';
$version = '1.8.0'; // API version number (they're actually up to 1.11.0 at this point
$appID = 'asdf3e6e3';
$itemSort = "EndTimeSoonest";
$keywords = "something"; // make sure this is a valid keyword or keywords
//find items advanced
$apicalla = "$endpoint"
."OPERATION-NAME=findItemsAdvanced"
."&SERVICE-VERSION=$version"
."&GLOBAL-ID=EBAY-US"
."&SECURITY-APPNAME=$appID"
//."&MaxEntries=10" // look for an equivalent for this (maybe paginationInput.entriesPerPage?)
."&sortOrder=$itemSort"
//."&ItemType=AllItemTypes" // not needed AFAICT, otherwise look at itemFilterType
."&descriptionSearch=true";
."& RESPONSE-DATA-FORMAT=$responseEncoding"
."&keywords=" . urlencode($keywords);
$resp = simplexml_load_file($apicalla);
<?php
$url = 'http://svcs.ebay.com/services/search/FindingService/v1?OPERATION-NAME=findItemsAdvanced&SERVICE-VERSION=1.11.0&SECURITY-APPNAME=YOUR_APP_ID&RESPONSE-DATA-FORMAT=XML&REST-PAYLOAD&paginationInput.entriesPerPage=2&keywords=ipod&siteid=203&GLOBAL-ID=EBAY-IN';
$xml = file_get_contents( $url );
$xml = simplexml_load_string( $url );
?>