Php 以XML格式获取包含所有详细信息的所有项目
我正在尝试使用ebay API以XML格式获取所有项目 请参阅下面的代码以获取相同的信息Php 以XML格式获取包含所有详细信息的所有项目,php,ebay-api,Php,Ebay Api,我正在尝试使用ebay API以XML格式获取所有项目 请参阅下面的代码以获取相同的信息 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, ...
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(">", ">", str_replace("<", "<", $shortMsg->item(0)->nodeValue));
echo '<BR/>User Session ID: ' . $_COOKIE["eBaySession"] . '';
if (count($longMsg) > 0)
echo '<BR>', str_replace(">", ">", str_replace("<", "<", $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;
}
}
require_once('config/ebay_config.php');
一次需要_('helpers/eBaySession.php');
会话_start();
//还必须在请求的XML中设置SiteID
//SiteID=0(美国)-英国=3,加拿大=2,澳大利亚=15。。。。
//SiteID表示要将呼叫与之关联的易趣网站
$siteID=0;
//正在进行的电话:
$verb='GetSellerList';
///构建请求Xml字符串
$requestXmlBody='';
$requestXmlBody.='';
$requestXmlBody.='2015-12-12T11:36:06.487Z';
$requestXmlBody.='2016-03-12T11:36:06.487Z';
$requestXmlBody.=''$用户令牌';
$requestXmlBody.='**';
$requestXmlBody.='ItemReturnDescription';
$requestXmlBody.='2001';
$session=newebaysession($userToken、$devID、$appID、$certID、$serverUrl、$compatibilitylevel、$siteID、$verb);
//发送请求并获得响应
$responseXml=$session->sendHttpRequest($requestXmlBody);
if(stristr($responseXml,'http404')| |$responseXml=='')
die(“发送请求时出错”);
//解析Xml字符串并创建DOM文档对象
$responseDoc=新的DomDocument();
$responseDoc->loadXML($responseXml);
$errors=$responseDoc->getElementsByTagName('errors');
如果($errors->length>0){
echo“
eBay返回了以下错误:”;
//显示每个错误
//获取错误代码、短消息和长消息
$code=$errors->item(0)->getElementsByTagName('ErrorCode');
$shortMsg=$errors->item(0)->getElementsByTagName('ShortMessage');
$longMsg=$errors->item(0)->getElementsByTagName('LongMessage');
回显“”,$code->item(0)->nodeValue“:”,str_replace(“>”,”,str_replace(“,”,str_replace(“,”),str_replace(“
假设当您说“所有项目”时,您的意思是要检索所有卖家列表:
您需要将初始请求中的DetailLevel节点更改为“ReturnAll”。有关详细信息,请参阅以下API页面。请注意,技术上不建议使用ReturnAll DetailLevel,因此您可能希望准确地找到所需的内容,并只返回该级别的详细信息
如果您正在查找某个类别或某个项目(即与您的卖家帐户无关),如果我没有记错,您需要使用查找API。我最初说的是广告,但这不是eBay=p好,但我如何从中返回“不幸的是,你所问的超出了我的专业范围。我的易趣界面完全是通过.NET Winforms实现的,目前我还没有使用任何PHP。是否可以使用GetSellerList获取商品描述?我不这么认为。这篇文章是两年前的,但基于大约5分钟的时间查看商品的输出xmle getsellerlist如易趣开发者API中所示,表示它确实返回了一个描述节点。您可能想重新访问文档?请提供有关如何从此url返回的建议“登录到您的开发者帐户并转到管理runames链接。在那里,您将获得一个选项来指定成功和失败返回链接。
https://signin.ebay.com/ws/eBayISAPI.dll?SignIn&RuName=<?php echo $RuName; ?>&SessID=<?php echo $sessionID; ?>