【问题标题】:Get all items with all details in XML format以 XML 格式获取包含所有详细信息的所有项目
【发布时间】:2016-03-14 07:00:06
【问题描述】:

我正在尝试使用 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 网站上获得了成功消息,但我想使用用户 ID 抛出一个特定的 PHP 页面。

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

【问题讨论】:

  • 请告知如何从这个 url "signin.ebay.com/ws/eBayISAPI.dll?SignIn&RuName=<?php echo $RuName; ?>&SessID=" 返回到我的网页?提前谢谢大家。
  • 登录您的开发者帐户并转到管理运行名称链接。在那里您将获得一个选项来指定成功和失败返回链接。

标签: php ebay-api


【解决方案1】:

假设当您说“所有商品”时,您的意思是要检索所有卖家列表:

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

eBay GetSellerList

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

【讨论】:

  • 好的,但是我如何从这个“signin.ebay.com/ws/eBayISAPI.dll?SignIn&RuName=<?php echo $RuName; ?>&SessID=”返回到我的网页?请指教。
  • 很遗憾,您的问题超出了我的专业范围。我的 eBay 界面完全是通过 .NET Winforms 实现的,此时我还没有使用任何 PHP。
  • 是否可以使用 GetSellerList 获取商品描述?我不这么认为。
  • 这篇文章是 2 年前的,但根据 5 分钟查看 eBay 开发人员 API 中显示的 getsellerlist 的输出 xml 大约 5 分钟,它表明它确实返回了一个描述节点。您可能想重新访问文档?
猜你喜欢
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 2019-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 1970-01-01
相关资源
最近更新 更多