![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 178 Pomógł: 51 Dołączył: 7.01.2009 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Z penwego blogu mam kod, który chciałem sprawdzić. Zrobłem logowanie i wkleiłem dalszy kod... Niestety to wyrzuca tylko błąd: Kod Fatal error: Uncaught SoapFault exception: [Client] SOAP-ERROR: Encoding: object hasn't 'search-limit' property in /home2/gla10000/public_html/webapi/index.php:275 Stack trace: #0 [internal function]: SoapClient->__call('doSearch', Array) #1 /home2/gla10000/public_html/webapi/index.php(275): WebAPISoapClient->doSearch('6892320884ff75a...', Object(stdClass)) #2 {main} thrown in /home2/gla10000/public_html/webapi/index.php on line 275 Linijkę 275 zaznaczyłem. CODE <h1>WebApi Allegro: aukcjoner</h1> <?php error_reporting(E_ALL); /** * @see http://www.php.net/manual/en/book.soap.php * @link http://wrzasq.pl/ * @author Wrzasq <wrzasq@gmail.com> * @copyright 2008 © by Wrzasq * @license http://www.opensource.org/licenses/bsd-license.php */ class WebAPISoapClient extends SoapClient { /** * Kraj - Polska. */ const COUNTRY_PL = 1; /** * Logowanie do serwisu testwebapi.pl. */ const COUNTRY_TESTWEBAPI = 228; /** * Zapytanie o wersję Allegro WebAPI. */ const QUERY_ALLEGROWEBAPI = 1; /** * Czas trwania - 3 dni. */ const LIFETIME_3DAYS = 0; /** * Czas trwania - 5 dni. */ const LIFETIME_5DAYS = 1; /** * Czas trwania - 7 dni. */ const LIFETIME_7DAYS = 2; /** * Czas trwania - 10 dni. */ const LIFETIME_10DAYS = 3; /** * Czas trwania - 14 dni. */ const LIFETIME_14DAYS = 4; /** * Koszty pokrywa sprzedający. */ const TRANSPORT_COST_SELLER = 0; /** * Koszty pokrywa kupujący. */ const TRANSPORT_COST_BUYER = 1; /** * Przesyłka pocztowa (polecona/paczka). */ const TRANSPORT_OPTION_POST = 1; /** * Przesyłka pocztowa priorytetowa (polecona/paczka). */ const TRANSPORT_OPTION_POSTPRIORITY = 2; /** * Przesyłka kurierska. */ const TRANSPORT_OPTION_COURIER = 4; /** * Odbiór osobisty. */ const TRANSPORT_OPTION_PERSONAL = 8; /** * Inne. */ const TRANSPORT_OPTION_OTHER = 16; /** * Zgadzam się na przesłanie przedmiotu za granicę. */ const TRANSPORT_OPTION_ABROAD = 32; /** * Przedpłata. */ const PAYMENT_OPTION_PREPAID = 1; /** * Pobranie. */ const PAYMENT_OPTION_POSTPAID = 2; /** * Płatności Allegro. */ const PAYMENT_OPTION_ALLEGRO = 4; /** * Bezpieczne Płatności Allegro z Escrow. */ const PAYMENT_OPTION_ESCROW = 8; /** * Bezpieczne Płatności Allegro z Escrow. */ const PAYMENT_OPTION_OTHER = 16; /** * Pogrubienie. */ const OPTION_BOLD = 1; /** * Miniaturka. */ const OPTION_THUMB = 2; /** * Podświetlenie. */ const OPTION_HIGHLIGHT = 4; /** * Wyróżnienie. */ const OPTION_PREMIUM = 8; /** * Strona kategorii. */ const OPTION_CATEGORY = 16; /** * Strona główna. */ const OPTION_HOME = 32; /** * Wyszykiwanie któregokolwiek wyrazu. */ const SEARCH_OPTION_ANY = 1; /** * Wyszukuj w opisach. */ const SEARCH_OPTION_DESCRIPTION = 2; /** * Tylko nowe aukcje. */ const SEARCH_OPTION_NEWONLY = 4; /** * Tylko aukcje "Kup Teraz". */ const SEARCH_OPTION_BUYNOWONLY = 8; /** * Uwzględniaj także zakończone aukcje. */ const SEARCH_OPTION_CLOSEDTOO = 16; /** * Wyszukuj aukcji z miasta użytkownika. */ const SEARCH_OPTION_SESSIONCITY = 32; /** * Wyszukuj aukcji z województwa użytkownika. */ const SEARCH_OPTION_SESSIONSTATE = 64; /** * Sortowanie według daty zakończenia. */ const ORDERBY_ENDING = 1; /** * Sortowanie według ilości ofert. */ const ORDERBY_BIDS = 2; /** * Sortowanie według ceny. */ const ORDERBY_PRICE = 4; /** * Sortowanie według nazwy. */ const ORDERBY_NAME = 8; /** * Sortowanie rosnąco. */ const ORDER_ASC = 0; /** * Sortowanie malejąco. */ const ORDER_DESC = 1; /** * Automatycznie tworzy klienta dla interfejsu Allegro WebAPI. */ public function __construct() { parent::__construct('http://webapi.allegro.pl/uploader.php?wsdl'); } /** * Redukuje obraz do wielkości nadającej się do przesyłu. * * @param string $url URL obrazka (lokalne, albo sieciowe). * @return string Binarna zawartość obrazka w formacie JPEG. */ public static function resize($url) { $image = file_get_contents($url); // właśnie tutaj używamy Base64 ręcznie, ale nigdzie indziej! while( strlen( base64_encode($image) ) > 200000) { $temp = imagecreatefromstring($image); $x = ceil(0.9 * imagesx($temp) ); $y = ceil(0.9 * imagesy($temp) ); $image = imagecreatetruecolor($x, $y); imagecopyresized($image, $temp, 0, 0, 0, 0, $x, $y, imagesx($temp), imagesy($temp) ); imagejpeg($image, 'temp.jpg', 75); $image = file_get_contents('temp.jpg'); unlink('temp.jpg'); } return $image; } } // nasze dane $config = array( 'login' => '***', 'password' => '***', 'apiKey' => '***' ); // dla serwisu testowego wybierz WebAPISoapClient::COUNTRY_TESTWEBAPI $country = WebAPISoapClient::COUNTRY_TESTWEBAPI; try { $client = new WebAPISoapClient(); // pobieranie wersji WebAPI $version = $client->doQuerySysStatus(WebAPISoapClient::QUERY_ALLEGROWEBAPI, $country, $config['apiKey']); // właściwe logowanie do serwisu $session = $client->doLogin($config['login'], $config['password'], $country, $config['apiKey'], $version['ver-key']); } catch(SoapFault $soapFault) { /* obsługa wyjątku */ print '<h2>Krok 2: błąd</h2>'; } /* ---------------------------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------------------------------------------------- */ // generujemy formularz $form = new StdClass(); $form->{'search-string'} = 'nic'; $form->{'search-options'} = WebAPISoapClient::SEARCH_OPTION_ANY | WebAPISoapClient::SEARCH_OPTION_SESSIONCITY; $form->{'search-order'} = WebAPISoapClient::ORDERBY_PRICE; $form->{'search-order-type'} = WebAPISoapClient::ORDER_ASC; $form->{'search-country'} = 0; // 0 oznacza, że wyszukujemy w całym serwisie - ID kategorii możemy pobrać z poprzedniego omówienia problemu importu kategorii $form->{'search-category'} = 0; $form->{'search-city'} = ''; $form->{'search-state'} = 0; $form->{'search-price-from'} = 1; $form->{'search-price-to'} = ''; // strona wyników liczona od 0 $form->{'search-offset'} = 0; print_r($session); // listujemy wszystkie wyniki do { // wysyłamy formularz //--------------------- //poniżej linijka 275 $search = $client->doSearch($session['session-handle-part'], $form); //LINIJKA 275 $form->{'search-offset'}++; // listujemy aktualną stronę foreach($search['search-array'] as $auction) { echo ' <tr> <td>'.$auction->{'s-it-id'}.'</td> <td><a href="http://allegro.pl/item'.$auction->{'s-it-id'}.'.html">'; // sprawdza, czy aukcja ma miniaturkę do wyświetlenia if( !empty($auction->{'s-it-thumb-url'}) ) { echo '<img src="', $auction->{'s-it-thumb-url'}, '" alt="thumbnail" />'; } echo htmlspecialchars($auction->{'s-it-name'}), '</a></td> <td>'; // cena aukcyjna if($auction->{'s-it-price'} > 0) { echo htmlspecialchars($auction->{'s-it-price'}, 2, ',', ' '); } // cena "Kup Teraz" else { echo htmlspecialchars($auction->{'s-it-buy-now-price'}, 2, ',', ' '); } echo '</td> </tr>'; } } // sprawdzamy czy są następne strony while( $form->{'search-offset'} * 50 < $search['search-count']); echo ' </tbody> </table>'; ?> Proszę o pomoc! -------------------- Sklep
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 20:25 |