我想从ebay中提取卖家列表,每次运行此代码时,都会收到错误
The API call "GeteBayOfficialTime" is invalid or not supported in this release
我在使用Zend Server的Mac上运行它。
CODE:
define('XML_POST_URL', 'https://api.sandbox.ebay.com/ws/api.dll');
$theData ='
<?xml version="1.0" encoding="utf-8"?>
<GetSellerListRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
<eBayAuthToken>My Auth Key</eBayAuthToken>
</RequesterCredentials>
<Pagination ComplexType="PaginationType">
<EntriesPerPage>1</EntriesPerPage>
<PageNumber>1</PageNumber>
</Pagination>
<WarningLevel>Low</WarningLevel>
<StartTimeFrom>2011-07-12T21:59:59.005Z</StartTimeFrom>
<StartTimeTo>2011-07-30T21:59:59.005Z</StartTimeTo>
<DetailLevel>ReturnAll</DetailLevel>
</GetSellerListRequest>
';
$headers = array(
'Content-Type' => 'text/xml',
'X-EBAY-API-COMPATIBILITY-LEVEL' => '727',
'X-EBAY-API-DEV-NAME' => '03dbea79-6089-4a00-8b3f-3114882e5d07',
'X-EBAY-API-APP-NAME' => 'sarfaraz-6e72-49e2-a7c0-ce2d2a48702b',
'X-EBAY-API-CERT-NAME' => 'd8382047-b425-40d6-8250-bac1497dc510',
'X-EBAY-API-SITEID' => '0',
'X-EBAY-API-CALL-NAME' => 'GetSellerList'
);
/**
* Initialize handle and set options
*/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, XML_POST_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $theData);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
/**
* Execute the request
*/
$result = curl_exec($ch);
/**
* Close the handle
*/
curl_close($ch);
/**
* Output the results and time
*/
header('Content-Type: text/xml');
echo $result;
结果:
<GeteBayOfficialTimeResponse>
<Timestamp>2011-07-29 15:59:21</Timestamp>
<Ack>Failure</Ack>
<Errors>
<ShortMessage>Unsupported API call.</ShortMessage>
<LongMessage>The API call "GeteBayOfficialTime" is invalid or not supported in this release.</LongMessage>
<ErrorCode>2</ErrorCode>
<SeverityCode>Error</SeverityCode>
<ErrorClassification>RequestError</ErrorClassification>
</Errors>
<Build>13564081</Build>
</GeteBayOfficialTimeResponse>
答案 0 :(得分:8)
问题是标头的定义方式,它应该是标准数组,而不是关联数组。请参阅下面的格式正确:
$headers = array(
'Content-Type: text/xml',
'X-EBAY-API-COMPATIBILITY-LEVEL: 727',
'X-EBAY-API-DEV-NAME: 03dbea79-6089-4a00-8b3f-3114882e5d07',
'X-EBAY-API-APP-NAME: sarfaraz-6e72-49e2-a7c0-ce2d2a48702b',
'X-EBAY-API-CERT-NAME: d8382047-b425-40d6-8250-bac1497dc510',
'X-EBAY-API-SITEID: 0',
'X-EBAY-API-CALL-NAME: GetSellerList'
);
答案 1 :(得分:1)
为了获得正确的XML,您可以使用API test tool。您还可以选择要使用的API版本。只需选择您要进行的调用,即可获得XML。文档经常过时。