2015-04-06 217 views
0

当我试图中检索通过eBay的交易API的所有类别与方法getCategories,我有这样的错误:易趣交易API GetCategories

FailureApplication name invalid.API application "222277" invalid.127Error222277RequestError895E895_INTL_APICATALOG_17257399_R1

头userd是:

$headers = array(
    'Content-Type:text/xml', 
    'X-EBAY-API-COMPATIBILITY-LEVEL: 895', 
    'X-EBAY-API-DEV-NAME: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 
    'X-EBAY-API-APP-NAME: xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx', 
    'X-EBAY-API-CERT-NAME: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 
    'X-EBAY-API-CALL-NAME: GetCategories', 
    'X-EBAY-API-SITEID: 0' 
); 

XML postfileds是

$body = <<<BODY 
    <?xml version="1.0" encoding="utf-8"?> 
<GetCategoriesRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <RequesterCredentials> 
     <eBayAuthToken>auth token......</eBayAuthToken> 
    </RequesterCredentials> 
    <CategorySiteID>0</CategorySiteID> 
    <DetailLevel>ReturnAll</DetailLevel> 
</GetCategoriesRequest> 
BODY; 

和我的卷发代码是:

$connection = curl_init(); 
     curl_setopt($connection, CURLOPT_URL, $endpoint); 
     curl_setopt($connection, CURLOPT_SSL_VERIFYPEER, 0); 
     curl_setopt($connection, CURLOPT_SSL_VERIFYHOST, 0); 
     curl_setopt($connection, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($connection, CURLOPT_POST, 1); 
     curl_setopt($connection, CURLOPT_POSTFIELDS, $body); 
     curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1); 
     $response = curl_exec($connection); 
     curl_close($connection); 

回答

2

Ebay提供了一个API测试工具。

它会预先填充您的凭据并让您进行测试呼叫。

Test Tool

这将帮助你调试,你可能会得到任何错误。

2

不幸的是,eBay最近停止了他们的API测试工具。但是,有些第三方可能就足够了。

对于您的问题,我建议您使用简单的购物API调用GetCategoryInfo。您不需要发布请求或发送任何HTTP标头,并且可以将整个调用构建为1个URL/REST/GET请求。这使得调试更容易。

无论采用哪种方式,我都不认为您可以通过1个请求检索所有eBay的类别。相反,计划循环遍历每个级别的类别树,收集子类别名称和ID。