Ich kann nicht ein Tag für EbaySDK erstellen, so Ebay API kann irreführend sein. Die SDK-Referenz befindet sich unten.Verkaufte Artikel von Ebay SDK Selling - bekommen "Fehlende erforderliche Eingabeelement" Fehler
Warum benötigen einige Anfragen "Eingabe" und wo können sie gefunden werden? Die SDK-Notizen scheinen nicht klar zu sein, was per "Anruftyp" erforderlich ist.
Nach den Beispielen von http://devbay.net/sdk/guides/getting-started/basic-usage.html#working-with-responses versuche ich eine Liste der verkauften Artikel zu erhalten. Da Ebay nur 90 Tage Daten hält, habe ich meiner Anfrage keine Grenzen gesetzt.
Ihr Beispiel Anfrage:
// Create the API request object.
$request = new Types\FindItemsByKeywordsRequest();
// Assign the keywords.
$request->keywords = 'Harry Potter';
// Output the response from the API.
if ($response->ack !== 'Success') {
foreach ($response->errorMessage->error as $error) {
printf("Error: %s\n", $error->message);
}
} else {
foreach ($response->searchResult->item as $item) {
printf("(%s) %s:%.2f\n", $item->itemId, $item->title, $item->sellingStatus->currentPrice->value);
}
}
Mine ein bisschen einfacher ist (und offensichtlich unvollständig)
$request = new Types\GetItemStatusRequestType;
$response = $service->getItemStatus();
if ($response->Ack !== 'Success') {
if (isset($response->Errors)) {
foreach ($response->Errors as $error) {
printf("Error: %s\n", $error->ShortMessage);
}
}
} else {
print_r($response->getItemStatus); //should return all avail values (works with other types of requests)
}
Hier ist der böse Fehler
DTS\eBaySDK\Shopping\Types\GetItemStatusResponseType Object
(
[values:DTS\eBaySDK\Types\BaseType:private] => Array
(
[Timestamp] => DateTime Object
(
[date] => 2016-03-23 00:28:28.391000
[timezone_type] => 2
[timezone] => Z
)
[Ack] => Failure
[Errors] => DTS\eBaySDK\Types\UnboundType Object
(
[data:DTS\eBaySDK\Types\UnboundType:private] => Array
(
[0] => DTS\eBaySDK\Shopping\Types\ErrorType Object
(
[values:DTS\eBaySDK\Types\BaseType:private] => Array
(
[ShortMessage] => Missing required input element.
[LongMessage] => Required input element is missing from the request.
[ErrorCode] => 1.19
[SeverityCode] => Error
[ErrorParameters] => DTS\eBaySDK\Types\UnboundType Object
(
[data:DTS\eBaySDK\Types\UnboundType:private] => Array
(
[0] => DTS\eBaySDK\Shopping\Types\ErrorParameterType Object
(
[values:DTS\eBaySDK\Types\BaseType:private] => Array
(
[ParamID] => 0
[Value] => ItemID
)
[attachment:DTS\eBaySDK\Types\BaseType:private] => Array
(
[data] =>
[mimeType] =>
)
)
)
[position:DTS\eBaySDK\Types\UnboundType:private] => 0
[class:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Shopping\Types\ErrorType
[property:DTS\eBaySDK\Types\UnboundType:private] => ErrorParameters
[expectedType:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Shopping\Types\ErrorParameterType
)
[ErrorClassification] => RequestError
)
[attachment:DTS\eBaySDK\Types\BaseType:private] => Array
(
[data] =>
[mimeType] =>
)
)
)
[position:DTS\eBaySDK\Types\UnboundType:private] => 0
[class:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Shopping\Types\GetItemStatusResponseType
[property:DTS\eBaySDK\Types\UnboundType:private] => Errors
[expectedType:DTS\eBaySDK\Types\UnboundType:private] => DTS\eBaySDK\Shopping\Types\ErrorType
)
[Build] => E949_CORE_APILW_17769283_R1
[Version] => 949
)
[attachment:DTS\eBaySDK\Types\BaseType:private] => Array
(
[data] =>
[mimeType] =>
)
)
Fehler: erforderlich Fehlende Eingabeelement
Es scheint, dass ich nicht die Anfrage für etwas, aber ich habe keine Ahnung.
Die Antwort ist der GetItemStatus braucht eine ID, danke. Die GetOrders sind leider nur für den eingeloggten Verkäufer spezifisch. – zzipper72
Die gute Nachricht ist, ich glaube, ich habe die Lösung für mehrere verkaufte Listing Returns gefunden. (Ich habe es nicht getestet, aber die Dokumentation scheint ziemlich klar zu sein) Es war, wo ich ursprünglich arbeitete, aber verpasste, wie man den Filter richtig verwendet, so dass ich es früh (falsch) ausgeschlossen habe, da es scheinbar nur aktive Einträge zurückgibt. - Das Objekt findCompletedItems gibt die verkauften Artikel mit einem bestimmten Filter zurück: pro Dokument: itemFilter (2) .name = SoldItemsOnly & itemFilter (2) .value = true &, gefunden unter: http://developer.ebay.com/devzone/finding /CallRef/findCompletedItems.html#Response.searchResult.item.sellingStatus.sellingState – zzipper72
Freut mich zu hören, dass du es aussortiert hast! Ich ging davon aus, dass Sie nach Verkäufen für Ihr oder ein Kundenkonto suchten. Schlechte Annahme meinerseits :-) –