Бывалый

Профиль
Группа: Участник
Сообщений: 154
Регистрация: 16.3.2006
Где: Волгоград
Репутация: нет Всего: нет
|
День добрый! Проблема с eBay! Скачиваю письма с ebay.com через соответствующую функцию GetMemberMessages. Раньше у меня скачивались письма нормально, но теперь возникает ошибка | Цитата | eBay returned the following error(s):
16202 : Invalid item. We did not find your item in our system.
|
Класс, который реализует скачивание: | Код | <? session_start(); include_once "GetMemberMessages_class.php"; include_once "DataBase_class.php";
$obj = new GMM("saferseller", 0); $DB = new DataBase();
$MR = "Unread";
$responseAnswer = $obj->GetMemberMessagesInputAnswered(); $responseUnanswer = $obj->GetMemberMessagesInputUnanswered(); $responseCustome = $obj->GetMemberMessagesInputCustomeCode();
$conn = $DB->Connecting();
$obj->GetMemberMessagesOutput($responseCustome); for($i = 0; $i < $obj->CountLetters; $i++){ $SN = $obj->valueSenderID[$i]; $SE = $obj->valueSenderEmail[$i]; $S = $obj->valueSubject[$i]; $B = $obj->valueBody[$i]; $MID = $obj->valueMessageID[$i]; $MS = $obj->valueMessageStatus[$i]; $CD = $obj->valueCreationDate[$i];
$retval = $DB->QueryInsertInbox($SN, $S, $B, $MID, $MS, $MR, $CD, $conn, $SE); } $obj->GetMemberMessagesOutput($responseAnswer); for($i = 0; $i < $obj->CountLetters; $i++){ $SN = $obj->valueSenderID[$i]; $SE = $obj->valueSenderEmail[$i]; $S = $obj->valueSubject[$i]; $B = $obj->valueBody[$i]; $MID = $obj->valueMessageID[$i]; $MS = $obj->valueMessageStatus[$i]; $CD = $obj->valueCreationDate[$i]; $retval = $DB->QueryInsertInbox($SN, $S, $B, $MID, $MS, $MR, $CD, $conn, $SE); } $obj->GetMemberMessagesOutput($responseUnanswer); for($i = 0; $i < $obj->CountLetters; $i++){ $SN = $obj->valueSenderID[$i]; $SE = $obj->valueSenderEmail[$i]; $S = $obj->valueSubject[$i]; $B = $obj->valueBody[$i]; $MID = $obj->valueMessageID[$i]; $MS = $obj->valueMessageStatus[$i]; $CD = $obj->valueCreationDate[$i]; $retval = $DB->QueryInsertInbox($SN, $S, $B, $MID, $MS, $MR, $CD, $conn, $SE); }
$DB->Disconnecting($conn); echo "Ok! Letters downloaded!"; ?>
|
Файл GetMemberMessages_class.php | Код | <? //error_reporting(E_ALL);
include_once "eBaySession_class.php";
class GMM{ public $valueitemID = array(); public $valueMessageType = array(); public $valueSenderID = array(); public $valueSenderEmail = array(); public $valueRecipientID = array(); public $valueSubject = array(); public $valueBody = array(); public $valueMessageID = array(); public $valueMessageStatus = array(); public $valueCreationDate = array(); public $CountLetters;
public function __construct($requester, $siteID){ $this->requester = $requester; $this->siteID = $siteID; //, false, 517, $this->siteID, $verb
//Application Specfic Developer tokens $this->devID = ''; $this->appID = ''; $this->certID = ''; //the token representing the eBay user to assign the call with -- All eBay Users in use on the system $this->token = ''; } public function GetMemberMessagesInputAnswered(){ $date = new DateTime(date('Y-m-d H:i:s')); $start = $this->LastDate(); $end = $date->format("Y-m-d H:i:s"); // Header XML file $requestXmlBody = '<?xml version="1.0" encoding="utf-8"?>'; $requestXmlBody .= '<GetMemberMessagesRequest xmlns="urn:ebay:apis:eBLBaseComponents">'; $requestXmlBody .= "<RequesterCredentials>"; $requestXmlBody .= "<eBayAuthToken>".$this->token."</eBayAuthToken>"; $requestXmlBody .= "</RequesterCredentials>"; // Body XML file $requestXmlBody .= "<MailMessageType>All</MailMessageType>"; $requestXmlBody .= "<MessageStatus>Answered</MessageStatus>"; $requestXmlBody .= "<StartCreationTime>$start</StartCreationTime>"; $requestXmlBody .= "<EndCreationTime>$end</EndCreationTime>"; $requestXmlBody .= "<Pagination>"; $requestXmlBody .= "<EntriesPerPage>100</EntriesPerPage>"; $requestXmlBody .= "<PageNumber>1</PageNumber>"; $requestXmlBody .= "</Pagination>"; $requestXmlBody .= "</GetMemberMessagesRequest>"; $requestXmlBody = utf8_encode($requestXmlBody); return $this->eBayRequest($requestXmlBody , 'GetMemberMessages'); } public function GetMemberMessagesInputUnanswered(){ $date = new DateTime(date('Y-m-d H:i:s')); $start = $this->LastDate(); $end = $date->format("Y-m-d H:i:s"); // Header XML file $requestXmlBody = '<?xml version="1.0" encoding="utf-8"?>'; $requestXmlBody .= '<GetMemberMessagesRequest xmlns="urn:ebay:apis:eBLBaseComponents">'; $requestXmlBody .= "<RequesterCredentials>"; $requestXmlBody .= "<eBayAuthToken>".$this->token."</eBayAuthToken>"; $requestXmlBody .= "</RequesterCredentials>"; // Body XML file $requestXmlBody .= "<MailMessageType>All</MailMessageType>"; $requestXmlBody .= "<MessageStatus>Unanswered</MessageStatus>"; $requestXmlBody .= "<StartCreationTime>$start</StartCreationTime>"; $requestXmlBody .= "<EndCreationTime>$end</EndCreationTime>"; $requestXmlBody .= "<Pagination>"; $requestXmlBody .= "<EntriesPerPage>100</EntriesPerPage>"; $requestXmlBody .= "<PageNumber>1</PageNumber>"; $requestXmlBody .= "</Pagination>"; $requestXmlBody .= "</GetMemberMessagesRequest>"; $requestXmlBody = utf8_encode($requestXmlBody); return $this->eBayRequest($requestXmlBody , 'GetMemberMessages'); } public function GetMemberMessagesInputCustomeCode(){ $date = new DateTime(date('Y-m-d H:i:s')); $start = $this->LastDate(); $end = $date->format("Y-m-d H:i:s"); // Header XML file $requestXmlBody = '<?xml version="1.0" encoding="utf-8"?>'; $requestXmlBody .= '<GetMemberMessagesRequest xmlns="urn:ebay:apis:eBLBaseComponents">'; $requestXmlBody .= "<RequesterCredentials>"; $requestXmlBody .= "<eBayAuthToken>".$this->token."</eBayAuthToken>"; $requestXmlBody .= "</RequesterCredentials>"; // Body XML file $requestXmlBody .= "<MailMessageType>All</MailMessageType>"; $requestXmlBody .= "<MessageStatus>CustomCode</MessageStatus>"; $requestXmlBody .= "<StartCreationTime>$start</StartCreationTime>"; $requestXmlBody .= "<EndCreationTime>$end</EndCreationTime>"; $requestXmlBody .= "<Pagination>"; $requestXmlBody .= "<EntriesPerPage>1000</EntriesPerPage>"; $requestXmlBody .= "<PageNumber>1</PageNumber>"; $requestXmlBody .= "</Pagination>"; $requestXmlBody .= "</GetMemberMessagesRequest>"; $requestXmlBody = utf8_encode($requestXmlBody); return $this->eBayRequest($requestXmlBody , 'GetMemberMessages'); } public function eBayRequest($requestXmlBody, $verb) { //set the Server to use (Sandbox or Production) $serverUrl = 'https://api.ebay.com/ws/api.dll';
$session = new eBaySession($this->token, $this->devID, $this->appID, $this->certID, false, "517", $this->siteID, $verb); $responseXml = $session->sendHttpRequest($requestXmlBody); if(stristr($responseXml, 'HTTP 404') || $responseXml == '') die('<P>Error sending request'); return $responseXml; } public function GetMemberMessagesOutput($stringXml){ //Xml string is parsed and creates a DOM Document object $responseDoc = new DomDocument(); $responseDoc->loadXml($stringXml); //get any error nodes $errors = $responseDoc->getElementsByTagName('Errors');
//if there are error nodes 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'); //Display code and shortmessage echo '<P>', $code->item(0)->nodeValue, ' : ', str_replace(">", ">", str_replace("<", "<", $shortMsg->item(0)->nodeValue)); //if there is a long message (ie ErrorLevel=1), display it if(count($longMsg) > 0) echo '<BR>', str_replace(">", ">", str_replace("<", "<", $longMsg->item(0)->nodeValue)); return 0; echo '<br><br><br> Request: '; echo $requestXmlBody . '<br><br>'; } else { $memberMessage = $responseDoc->getElementsByTagName('MemberMessageExchange'); $this->CountLetters = $memberMessage->length; $i = 0; foreach( $memberMessage as $mM ){
$itemID = $mM->getElementsByTagName( "ItemID" );//позиция товара на eBay @$this->valueitemID[$i] = $itemID->item(0)->nodeValue; $senderID = $mM->getElementsByTagName("SenderID");//кто послал сообщение $this->valueSenderID[$i] = $senderID->item(0)->nodeValue; $senderEmail = $mM->getElementsByTagName("SenderEmail");//email человека, который послал сообщение @$this->valueSenderEmail[$i] = $senderEmail->item(0)->nodeValue;
$recipientID = $mM->getElementsByTagName("RecipientID");//кому написали сообщение = saferseller $this->valueRecipientID[$i] = $recipientID->item(0)->nodeValue;// не нужные данные $subject = $mM->getElementsByTagName("Subject");//тема сообщения $this->valueSubject[$i] = $subject->item(0)->nodeValue; $Body = $mM->getElementsByTagName( "Body" );//само сообщение $this->valueBody[$i] = $Body->item(0)->nodeValue; $messageID = $mM->getElementsByTagName("MessageID");// id данного сообщения $this->valueMessageID[$i] = $messageID->item(0)->nodeValue; $messageStatus = $mM->getElementsByTagName("MessageStatus");// статус данного сообщения (отвеченное, неотвеченное, ???) $this->valueMessageStatus[$i] = $messageStatus->item(0)->nodeValue; $creationDate = $mM->getElementsByTagName("CreationDate");//дата и время создания сообщения $this->valueCreationDate[$i] = $creationDate->item(0)->nodeValue; $i++; } } }
private function LastDate(){ $date = new DateTime(date('Y-m-d H:i:s')); $year = $date->format("Y"); $month = $date->format("m"); $day = $date->format("d"); $time = $date->format("H:i:s"); if($month == 01){ $month = 12; $year -= 1; } else{ $month -= 1; $temp = "0"; $temp .= $month; $month = $temp; } $prevDate = $year; $prevDate .= "-"; $prevDate .= $month; $prevDate .= "-"; $prevDate .= $day; $prevDate .= " "; $prevDate .= $time; return $prevDate; } } ?>
|
Помогите пожалуйста!!!
|