Fórum Duvida Post idhttp #595616
20/07/2018
0
Preciso enviar um post a um site usando apikey, porem ja tentei de tudo e nao da certo. Tentei usando TRESTClient e idhttp. Sempre da erro 401 nao autorizado.
Na documentação do site o comando é exatamente esse :
Curl
curl -X POST "http://18.231.108.105:8096/emby/Sessions/d83afc51b04e6e361f9c245df262937e/Playing/Stop?api_key=aecd7632216b417fa8812647028919df" -H "accept: */*" -H "Content-Type: application/json" -d "{\\\\"Command\\\\":\\\\"Stop\\\\",\\\\"SeekPositionTicks\\\\":0,\\\\"ControllingUserId\\\\":\\\\"string\\\\"}"
Request URL
http://18.231.108.105:8096/emby/Sessions/d83afc51b04e6e361f9c245df262937e/Playing/Stop?api_key=aecd7632216b417fa8812647028919df
Na documentação do site o comando é exatamente esse :
Curl
curl -X POST "http://18.231.108.105:8096/emby/Sessions/d83afc51b04e6e361f9c245df262937e/Playing/Stop?api_key=aecd7632216b417fa8812647028919df" -H "accept: */*" -H "Content-Type: application/json" -d "{\\\\"Command\\\\":\\\\"Stop\\\\",\\\\"SeekPositionTicks\\\\":0,\\\\"ControllingUserId\\\\":\\\\"string\\\\"}"
Request URL
http://18.231.108.105:8096/emby/Sessions/d83afc51b04e6e361f9c245df262937e/Playing/Stop?api_key=aecd7632216b417fa8812647028919df
Daniel Viegas
Curtir tópico
+ 0
Responder
Posts
21/07/2018
Fernando Duwe
Daniel,
Esse código resolve o seu problema? Você deve especificar o Header da sua requisição.
Uma dica ao trabalhar com requisições, teste o formato de envio e recebimento antes do código. Eu uso uma extensão do Opera chamada Restman (https://addons.opera.com/pt-br/extensions/details/restman/). Caso essa requisição retorne os dados com sucesso, você pode prosseguir para o código, caso não retorne, é sempre válido verificar a sua Key, parametros, etc. Qualquer dúvida, pode chamar.
var
vrRequest : TStringStream;
vrResponse : String;
vrURL : String;
begin
// IdHTTP1 = Componente TIdHTTP
vrURL := 'http://18.231.108.105:8096/emby/Sessions/d83afc51b04e6e361f9c245df262937e/Playing/Stop?api_key=aecd7632216b417fa8812647028919df';
vrRequest := TStringStream.Create('{"Command": "Stop", "SeekPositionTicks": 0, "ControllingUserId": "string"}');
try
IdHTTP1.Request.ContentType := 'application/json';
IdHTTP1.Request.Accept := '*/*';
vrResponse := IdHTTP1.Post(vrURL, vrRequest);
finally
vrRequest.Free;
end;
end;
Esse código resolve o seu problema? Você deve especificar o Header da sua requisição.
Uma dica ao trabalhar com requisições, teste o formato de envio e recebimento antes do código. Eu uso uma extensão do Opera chamada Restman (https://addons.opera.com/pt-br/extensions/details/restman/). Caso essa requisição retorne os dados com sucesso, você pode prosseguir para o código, caso não retorne, é sempre válido verificar a sua Key, parametros, etc. Qualquer dúvida, pode chamar.
var
vrRequest : TStringStream;
vrResponse : String;
vrURL : String;
begin
// IdHTTP1 = Componente TIdHTTP
vrURL := 'http://18.231.108.105:8096/emby/Sessions/d83afc51b04e6e361f9c245df262937e/Playing/Stop?api_key=aecd7632216b417fa8812647028919df';
vrRequest := TStringStream.Create('{"Command": "Stop", "SeekPositionTicks": 0, "ControllingUserId": "string"}');
try
IdHTTP1.Request.ContentType := 'application/json';
IdHTTP1.Request.Accept := '*/*';
vrResponse := IdHTTP1.Post(vrURL, vrRequest);
finally
vrRequest.Free;
end;
end;
Responder
Gostei + 0
26/07/2018
João Filho
Olá Daniel bom dia,
Daniel não sei se irá resolver, mas baixe meu projeto do github onde tenho um WEBService que para consumir utilizo APIKey, pode ser que com o exemplo você consiga resolver seu problema, segue link:
https://github.com/eduardofaneli2/ConsultarCEP
Se ajudar ou gostar fique a vontade para contribuir com o projeto e deixar uma estrela, vlww!!
Daniel não sei se irá resolver, mas baixe meu projeto do github onde tenho um WEBService que para consumir utilizo APIKey, pode ser que com o exemplo você consiga resolver seu problema, segue link:
https://github.com/eduardofaneli2/ConsultarCEP
Se ajudar ou gostar fique a vontade para contribuir com o projeto e deixar uma estrela, vlww!!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)