Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Allegro WebApi funkcja doAddToBlackList zwraca błąd mimo poprawnego ID
NoWay
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.01.2014

Ostrzeżenie: (0%)
-----


Witam!
Mam taki problem. Otóż zacząłem sobie pisać każdą funkcję Allegro WebApi po kolei i napotkałem na problem. Otóż gdy chciałem dodać użytkownika do Black Listy na Allegro pomimo podawania poprawnego ID użytkownika do funkcji, funkcja zawsze zwraca wynik negatywny i nie dodaje go do listy. Oto fragmenty mojego kodu:
  1. $user_login = $_POST['blacklist_name'];
  2. $user_data['0'] = doGetUserID($client, $country_id, $user_login, $webapi_key);
  3. $user_data['1'] = $_POST['blacklist_note'];
  4. doAddToBlackList($client, $session, $user_data);

oraz funkcje które zostały tam użyte:
  1.  
  2. function doGetUserID($client, $country_id, $user_login, $webapi_key)
  3. {
  4. $doGetUserID = $client->doGetUserID($country_id, $user_login, '', $webapi_key);
  5. return $doGetUserID;
  6. }
  7.  
  8.  
  9. function doAddToBlackList ($client, $session, $user_data)
  10. {
  11. $doAddToBlackList = $client->doAddToBlackList($session, $user_data);
  12. echo var_dump($doAddToBlackList);
  13. if ($doAddToBlackList['0']->{'add-to-black-list-result'} == 1)
  14. {
  15. echo '<br><br><br><br><br><br><br><br><center>Pomyślnie dodano uzytkownika na Czarną Listę</center>';
  16. echo '<br><br><br><br><center> <a href = "allegro.php?logged='.encode(1).'&wybor='.encode('blacklist').'&session='.encode($session).'">Powrot</center>';
  17. }
  18. elseif ($doAddToBlackList['0']->{'add-to-black-list-result'} == 0)
  19. {
  20. echo '<br><br><br><br><br><br><br><br><center>Błąd podczas dodawania uzytkownika na Czarną Listę. Oto odpowiedz serwera allegro:</center><br>';
  21. echo '<center>'.$doAddToBlackList['0']->{'add-to-black-list-err-code'}.'<br>'.$doAddToBlackList['0']->{'add-to-black-list-err-msg'}.'</center>';
  22. echo '<br><br><br><br><center> <a href = "allegro.php?logged='.encode(1).'&wybor='.encode('blacklist').'&session='.encode($session).'">Powrot</center>';
  23. }
  24. else
  25. {
  26. echo 'Cos poszlo nie tak, proszę spróbować ponownie.';
  27. }
  28. }

Dodam, że gdy wpiszę użytkownika na listę poprzez stronę i wyświetlę go poprzez metodę doGetBlackListUsers, to ID przy tej nazwie użytkownika jest takie samo jak to podawano poprzez Api.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
styryl
post
Post #2





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

Ostrzeżenie: (0%)
-----


Pokaż co Ci zwraca api...
Go to the top of the page
+Quote Post
NoWay
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.01.2014

Ostrzeżenie: (0%)
-----


Zwraca to:
ERR_USER_NOT_FOUND
Podano niepoprawny identyfikator lub login użytkownika albo taki użytkownik nie istnieje.

I tak jest za każdym razem, nie ważne czy podam prawidłowe ID czy nieprawidłowe.
Go to the top of the page
+Quote Post
styryl
post
Post #4





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

Ostrzeżenie: (0%)
-----


Pokaż metodę:

  1. $client->doAddToBlackList


i co masz w $user_data



Go to the top of the page
+Quote Post
NoWay
post
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.01.2014

Ostrzeżenie: (0%)
-----


W
  1. $user_data['0']

jest ID loginu, który wpisuje z pola tekstowego, a następnie jest przetwarzany poprzez funkcję doGetUserID (ID jest poprawne, przy wpisaniu loginu i wyświetleniu jego ID jest takie samo jak gdy dodam tego użytkownika na Czarną Listę poprzez stronę i wyświetlę użytkowników na Czarnej Liście). W
  1. $user_data['1']

jest notatka, dlaczego został dodany na Czarną Listę, ten parametr jest nieobowiązkowy.
A
  1. $client->doAddToBlackList

to wywołanie funkcji allegro doAddToBlackList, do
  1. $client

przypisany jest nowy Client SOAP z adresem webapi allegro.
Go to the top of the page
+Quote Post
styryl
post
Post #6





Grupa: Zarejestrowani
Postów: 223
Pomógł: 27
Dołączył: 16.04.2008
Skąd: Bakutilu

Ostrzeżenie: (0%)
-----


Skoro jesteś pewien że przekazujesz na 100% poprawne dane to napisz do pomocy allegro.
Go to the top of the page
+Quote Post
NoWay
post
Post #7





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 25.01.2014

Ostrzeżenie: (0%)
-----


Gdyby ktoś miał podobny problem, to podaje rozwiązanie. Błąd był w tym miejscu:
  1. $user_login = $_POST['blacklist_name'];
  2. $user_data['0'] = doGetUserID($client, $country_id, $user_login, $webapi_key);
  3. $user_data['1'] = $_POST['blacklist_note'];
  4. doAddToBlackList($client, $session, $user_data);

Powinno być tak:
  1. $user_login = $_POST['blacklist_name'];
  2. $user_data[0]->{'user-id'} = doGetUserID($client, $country_id, $user_login, $webapi_key);
  3. $user_data[0]-> {'user-black-list-note'} = $_POST['blacklist_note'];
  4. doAddToBlackList($client, $session, $user_data);
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 17:36