Вызов eBay API GetSearchResults возвращает ошибку «Неопределенное свойство: SoapFault::$SearchResultItemArray»

У меня есть проект, в котором мне нужно получить доступ к списку продуктов с EBay на основе поиска по ключевым словам, я знаком с API, поэтому я просто пытаюсь разобраться в ebays.

Хорошо, пока я начал с регистрации для входа в систему Ebay для разработчиков, у меня есть все ключи моего идентификатора и т. Д.

Перешел на https://go.developer.ebay.com/developers/eBay/documentation-tools/code-sample/219177 и загрузил пример кода PHP, так как это тот, который я собираюсь использовать.

Итак, я ввел все свои данные, и вызов, который я хочу запустить, — это GetSearchResults.

Каждый раз, когда я запускаю эту команду, я получаю сообщение об ошибке ниже.

Undefined property: SoapFault::$SearchResultItemArray

Может ли кто-нибудь помочь мне с этим или они могут указать мне правильное направление рабочего php sdk, который я могу использовать для отображения результатов поиска?

Вот код, взятый у разработчика ebay https://go.developer.ebay.com/developers/eBay/documentation-tools/code-sample/219177

<?php
// be sure include path contains current directory
// to make sure samples work
ini_set('include_path', ini_get('include_path') . ':.');

// Load general helper classes for eBay SOAP API
require_once 'eBaySOAP.php';

// Load developer-specific configuration data from ini file
$config = parse_ini_file('ebay.ini', true);
$site = $config['settings']['site'];
$compatibilityLevel = $config['settings']['compatibilityLevel'];

$dev = $config[$site]['devId'];
$app = $config[$site]['appId'];
$cert = $config[$site]['cert'];
$token = $config[$site]['authToken'];
$location = $config[$site]['gatewaySOAP'];

// Create and configure session
$session = new eBaySession($dev, $app, $cert);
$session->token = $token;
$session->site = 1; // 100 = eBay Motors
$session->location = $location;

// Make a series of GetSearchResults API calls and print results
try {
    $client = new eBaySOAP($session);

    // Find 10 ipods and print their Titles
    $params = array('Version' => $compatibilityLevel, 
                    'Query' => 'ipod',
                    'Pagination' => array('EntriesPerPage' => 10),
                   );

    $results = $client->GetSearchResults($params);

    print "<pre>";
    //print_r($results);
    print "</pre>";

    foreach ($results->SearchResultItemArray as $item) {
        echo $item, "  <br>\n";
    }

    print "<p>---</p>\n";


    // Find 10 passenger vehicles (CategoryID 6001) within 10 miles of ZIP Code 95125
    // ordered by ascending distance
    $params = array('Version' => $compatibilityLevel, 
                    'Query' => '*',
                    'CategoryID' => 6001,
                    'ProximitySearch' => array('MaxDistance' => 10, 'PostalCode' => 95125),
                    'Pagination' => array('EntriesPerPage' => 10),
                    'Order' => 'SortByDistanceAsc',
                   );

    $results = $client->GetSearchResults($params);

    foreach ($results->SearchResultItemArray->SearchResultItem as $item) {
        print $item->Item->Title . " <br> \n";
    }

    print "<p>---</p>\n";

    // Find the count of all passenger vehicles (CategoryID 6001)
    $params = array('Version' => $compatibilityLevel, 
                    'Query' => '*',
                    'CategoryID' => 6001,
                    'TotalOnly' => true,
                   );
    $results = $client->GetSearchResults($params);
    $total = number_format($results->PaginationResult->TotalNumberOfEntries);
    print "There are $total passenger vehicles for sale on eBay Motors <br>\n";

} catch (SOAPFault $f) {
    print $f; // error handling
}

// Uncomment below to view SOAP envelopes
// print "Request: \n".$client->__getLastRequest() ."\n";
// print "Response: \n".$client->__getLastResponse()."\n";
?>

Спасибо


person user1503606    schedule 19.02.2014    source источник
comment
Можете ли вы показать нам код?   -  person Fabio    schedule 19.02.2014
comment
обязательно обновите ответ, это просто точный код отсюда go.developer.ebay.com/developers/eBay/documentation-tools/ разверните код просмотра на примере php, но я также добавлю выше;)   -  person user1503606    schedule 19.02.2014
comment
Скорее всего, вы видите эту ошибку из-за сбоя вызова GetSearchResults. Раскомментируйте строку //print_r($results); и проверьте возможные сообщения об ошибках. Вы уверены, что правильно ввели все данные в ebay.ini? Убедитесь в этом также, сбросив $config.   -  person Chris    schedule 19.02.2014
comment
Привет, Крис, когда я печатаю результаты, я получаю эту ошибку. Функция (GetSearchResults) не является допустимым методом для этой службы, поэтому я немного смущен, могут ли вызовы API службы измениться. config выглядит нормально, и шлюз URL службы есть api.sandbox.ebay.com/wsapi   -  person user1503606    schedule 19.02.2014
comment
@user1503606 user1503606: Получение этой ошибки почти наверняка означает, что создание клиента (new eBaySOAP($session);) не удалось, что, скорее всего, связано с тем, что данные в $session, а значит, и в $config неверны.   -  person Chris    schedule 19.02.2014
comment
Хорошо, спасибо, я собираюсь перепроверить все свои данные   -  person user1503606    schedule 19.02.2014
comment
Привет всем, я выбросил версию выше, и теперь я использовал это руководство, которое работает для меня developer.ebay.com/DevZone/Finding/HowTo/   -  person user1503606    schedule 19.02.2014
comment
eBay избавился от GetSearchResults некоторое время назад. Кажется, их примеры очень сильно устарели. Вместо этого вы можете использовать новый поисковый API. developer.ebay.com/DevZone/finding/CallRef/index.html   -  person David T. Sadler    schedule 19.02.2014


Ответы (1)


У меня была аналогичная проблема, и я нашел это:

Важно: GetSearchResults и GetCategoryListings устарели и больше не доступны. Если у вас есть приложения, использующие вызовы, перенесите функции поиска в Finding API. Для новых приложений начните с Finding API.

person John E    schedule 28.02.2014