首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP eBay调用问题

PHP eBay调用问题
EN

Stack Overflow用户
提问于 2014-01-22 07:32:57
回答 2查看 444关注 0票数 1

我正在尝试获取一个产品的发货信息,这是我的代码(我已经隐藏了我的app-id)。

代码语言:javascript
复制
 $endpoint2 = "http://open.api.ebay.com/shopping";

$xmlrequest2  = "<?xml version='1.0' encoding='utf-8'?>\n";
$xmlrequest2 .= "<GetShippingCostsRequest xmlns='urn:ebay:apis:eBLBaseComponents'>\n";
//  $xmlrequest2 .= "<DestinationCountryCode>GB</DestinationCountryCode>\n";
// $xmlrequest2 .= "<IncludeDetails>true</IncludeDetails>\n";
$xmlrequest2 .= "<ItemID>".$id."</ItemID>\n";
$xmlrequest2 .= "</GetShippingCostsRequest>\n";

$session2  = curl_init($endpoint2);                       // create a curl session
curl_setopt($session2, CURLOPT_POST, true);
var_dump($xmlrequest2);
curl_setopt($session2, CURLOPT_POSTFIELDS, $xmlrequest2); // set the body of the POST
curl_setopt($session2, CURLOPT_RETURNTRANSFER, true);
$headers2 = array(
'X-EBAY-API-APP-ID:'.getsetting(2),
 'X-EBAY-API-VERSION:849',
 'X-EBAY-API-SITE-ID:3',
 'X-EBAY-API-CALL-NAME:GetShippingCosts',
 'X-EBAY-API-REQUEST-ENCODING:XML',
);
print_r($headers2);

       // create a curl session
curl_setopt($session2, CURLOPT_HTTPHEADER, $headers2);    //set headers using the above array of headers
$responseXML = curl_exec($session2);
// send the request
//echo $responseXML;
curl_close($session2);

return $responseXML;

这是我得到的输出/错误。

代码语言:javascript
复制
    string(162) "<?xml version='1.0' encoding='utf-8'?>
<GetShippingCostsRequest xmlns='urn:ebay:apis:eBLBaseComponents'>
<ItemID>300903657321</ItemID>
</GetShippingCostsRequest>
"
Array
(
    [0] => X-EBAY-API-APP-ID:1234
    [1] => X-EBAY-API-VERSION:849
    [2] => X-EBAY-API-SITE-ID:3
    [3] => X-EBAY-API-CALL-NAME:GetShippingCosts
    [4] => X-EBAY-API-REQUEST-ENCODING:XML
)
<?xml version="1.0" encoding="UTF-8"?>

  <GetShippingCostsResponse xmlns="">
   <ns1:Ack xmlns:ns1="urn:ebay:apis:eBLBaseComponents">Failure</ns1:Ack>
   <ns2:Errors xmlns:ns2="urn:ebay:apis:eBLBaseComponents">
    <ns2:ShortMessage>Input data is invalid.</ns2:ShortMessage>
    <ns2:LongMessage>Input data for the given tag is invalid or missing. Please check API documentation.</ns2:LongMessage>
    <ns2:ErrorCode>1.22</ns2:ErrorCode>
    <ns2:SeverityCode>Error</ns2:SeverityCode>
    <ns2:ErrorParameters ParamID="0">
     <ns2:Value>XML document structures must start and end within the same entity.</ns2:Value>
    </ns2:ErrorParameters>
    <ns2:ErrorClassification>RequestError</ns2:ErrorClassification>
   </ns2:Errors>
   <ns3:Build xmlns:ns3="urn:ebay:apis:eBLBaseComponents">E853_CORE_APILW_16579549_R1</ns3:Build>
   <ns4:Version xmlns:ns4="urn:ebay:apis:eBLBaseComponents">853</ns4:Version>
  </GetShippingCostsResponse>

有什么想法吗?我根本想不出问题出在哪里。他们的文档似乎没有任何帮助。如果我将XML复制并粘贴到他们的API测试工具中,它不会有任何问题。

EN

Stack Overflow用户

发布于 2014-01-22 07:58:40

我在任何地方都没看到你的证书。他们给你的API工具有点欺骗性,因为它用凭据包装了你的调用。http://developer.ebay.com/DevZone/guides/ebayfeatures/Basics/Call-StandardCallData.html#StandardOutputData

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<GeteBayOfficialTimeRequest xmlns="urn:ebay:apis:eBLBaseComponents">
  <RequesterCredentials>
    <eBayAuthToken> Token goes here </eBayAuthToken>
  </RequesterCredentials>
  <Version>383</Version>
</GeteBayOfficialTimeRequest>
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21271264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档