以 XML 格式获取包含所有详细信息的所有项目


Get all items with all details in XML format

我正在尝试使用XML格式的ebay API获取所有项目。

请参阅下面的代码。

require_once('config/ebay_config.php');
require_once('helpers/eBaySession.php');
session_start();
//SiteID must also be set in the Request's XML
//SiteID = 0  (US) - UK = 3, Canada = 2, Australia = 15, ....
//SiteID Indicates the eBay site to associate the call with
$siteID = 0;
//the call being made:
$verb = 'GetSellerList';
///Build the request Xml string
$requestXmlBody = '<?xml version="1.0" encoding="utf-8" ?>';
$requestXmlBody .= '<GetSellerListRequest xmlns="urn:ebay:apis:eBLBaseComponents">';
$requestXmlBody .= '<EndTimeFrom>2015-12-12T11:36:06.487Z</EndTimeFrom>';
$requestXmlBody .= '<EndTimeTo>2016-03-12T11:36:06.487Z</EndTimeTo>';
$requestXmlBody .= '<RequesterCredentials><eBayAuthToken>' . $userToken . '</eBayAuthToken></RequesterCredentials>';
$requestXmlBody .= '<UserID>****</UserID>';
$requestXmlBody .= '<DetailLevel>ItemReturnDescription</DetailLevel>';
$requestXmlBody .= '<Pagination><EntriesPerPage>200</EntriesPerPage><PageNumber>1</PageNumber></Pagination>';
$session = new eBaySession($userToken, $devID, $appID, $certID, $serverUrl, $compatabilityLevel, $siteID, $verb);
//send the request and get response
$responseXml = $session->sendHttpRequest($requestXmlBody);
if (stristr($responseXml, 'HTTP 404') || $responseXml == '')
    die('<P>Error sending request');
//Xml string is parsed and creates a DOM Document object
$responseDoc = new DomDocument();
$responseDoc->loadXML($responseXml);
$errors = $responseDoc->getElementsByTagName('Errors');
if ($errors->length > 0) {
    echo '<P><B>eBay returned the following error(s):</B>';
    //display each error
    //Get error code, ShortMesaage and LongMessage
    $code = $errors->item(0)->getElementsByTagName('ErrorCode');
    $shortMsg = $errors->item(0)->getElementsByTagName('ShortMessage');
    $longMsg = $errors->item(0)->getElementsByTagName('LongMessage');
    echo '<P>', $code->item(0)->nodeValue, ' : ', str_replace(">", "&gt;", str_replace("<", "&lt;", $shortMsg->item(0)->nodeValue));
    echo '<BR/>User Session ID: ' . $_COOKIE["eBaySession"] . '';
    if (count($longMsg) > 0)
        echo '<BR>', str_replace(">", "&gt;", str_replace("<", "&lt;", $longMsg->item(0)->nodeValue));
}
else { //no errors
    //get the nodes needed
    $sellerNode = $responseDoc->getElementsByTagName('Seller');
    if ($sellerNode->length > 0) {
        echo '<P><B>Seller</B>';
        $userIDNode = $sellerNode->item(0)->getElementsByTagName('UserID');
        $scoreNode = $sellerNode->item(0)->getElementsByTagName('FeedbackScore');
        $regDateNode = $sellerNode->item(0)->getElementsByTagName('RegistrationDate');
        echo '<BR>UserID: ', $userIDNode->item(0)->nodeValue;
        echo '<BR>Feedback Score: ', $scoreNode->item(0)->nodeValue;
        echo '<BR>Registration Date: ', $regDateNode->item(0)->nodeValue;
    }
}

它只返回卖家信息,但为获取所有包含所有详细信息的项目提供建议。

还有一件事,我已经完成了登录 ebay API,并且还从下面的 URL 在 ebay 网站上收到成功消息,但我想扔到带有 userid 的特定 PHP 页面上。

https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&RuName=<?php echo $RuName; ?>&SessID=<?php echo $sessionID; ?>

假设当您说"所有项目"时,您的意思是您要检索所有卖家列表:

您需要将初始请求中的 DetailLevel 节点更改为"ReturnAll"。 有关详细信息,请参阅以下 API 页面。 请注意,从技术上讲,不建议使用 ReturnAll DetailLevel,因此您可能希望准确找到所需的内容,并且只返回该详细级别。

易趣获取卖家列表

如果您正在寻找类别中的所有项目或其他东西(即与您的卖家帐户无关),如果我没记错的话,您需要使用查找 API。我最初说的是广告,但那不是eBay=p