Witam Was, webapi mam opanowane do perfekcji natomiast z REST nigdy nie miałem do czynienia ale po kolei. Wrzuciłem na formę 3 komponenty RestClient, RestRequest i RestResponse.
Z dokumentacji na allegro mniejwięcej tak wyglądać powinno zapytanie i to co powienienem otrzymać:
Przykładowy request do generowania kodu:
curl -X POST \
'https://allegro.pl/auth/oauth/device' \
-H 'Authorization: Basic base64(client_id:client_secret)' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id={client_id}'
**
Przykładowy response:**
{
user_code: "cbt3zdu4g", -- kod użytkownika - zalecamy
przedstawić te dane użytkownikowi
w postaci XXX XXX XXX. Taka forma
będzie dla niego czytelniejsza
przy przepisywaniu.
device_code: "645629715", -- kod aplikacji - niezbędny
do uzyskania tokenu dostępowego
expires_in: "3600" -- liczba sekund, przez które ważne są
oba kody
interval: “5”, -- wymagany odstęp (w sekundach)
pomiędzy kolejnymi zapytaniami o
status autoryzacji. Jeśli będziesz
odpytywać częściej otrzymasz
odpowiedź o statusie HTTP 400 z
kodem: "slow_down".
verification_uri: “https://allegro.pl/skojarz-aplikacje”, -- adres do weryfikacji użytkownika
verification_uri_complete: “https://allegro.pl/skojarz-aplikacje?code=645629715”
-- adres do weryfikacji dla użytkownika z
wypełnionym kodem użytkownika
}
Tutaj mój kod w delphi:
procedure Test;
begin
RestClient.BaseURL := 'https://allegro.pl.allegrosandbox.pl';
RestRequest.Method := TRESTRequestMethod.rmPOST;
RestRequest.Resource := 'auth/oauth/device';
RestRequest.AddParameter('Authorization','Basic '+EncodeBase64(client_id+':'+client_secret),TRESTRequestParameterKind.pkHTTPHEADER);
RestRequest.AddParameter('Content-Type','application/x-www-form-urlencoded',TRESTRequestParameterKind.pkHTTPHEADER);
RestRequest.AddParameter('client_id',client_id,TRESTRequestParameterKind.pkGETorPOST);
RestRequest.Execute;
Memo1.Text := RestResponse.Content;
end;
Aplikacja zarejestrowana na allegro i taka sama nazwa aplikacji ustawiona w delphi. W odpowiedzi w memo1 otrzymuję "nie można wyświetlić strony + cała strona główna allegro w htmlu"
Gdzieś robię błąd ale brak mi już pomysłów. Odpowiedź powinna być zupełnie inna.