Agradeço pela ajuda, eu vo verificar ai te retorno
Em 20/02/2015 13:43, "Eduardo Cucharro" <eduardo.cucharro@gmail.com> escreveu:Wesley, você disse que criou duas páginas e funcionou, certo? Você fez páginas html? Se sim. Dá uma olhada se a sptrans gerou algum cookie de autenticação. Pelo que li a api não é restful e de qualquer jeito eles precisam do cookie ou token trafegando pra permitir suas chamadas.--Em 20 de fevereiro de 2015 02:15, wesley lima da silva <fioalpha@gmail.com> escreveu:boa noite,Rodrigo obrigado pela ajuda, estou usando essa API http://www.sptrans.com.br/desenvolvedores/APIOlhoVivo/Documentacao.aspx?1, se você e os outros do grupo poderem ler e pode me ajudar, a autenticação é bem simples, o problema é que quando que eu faço a autenticação ele funciona retorna true, só que acho que o problema começa agora quando eu faço a requisição de algo, para fazer isso uso o método GET, preciso fazer olha conexão ai eu acho que se perde minha autenticação.attEm 19 de fevereiro de 2015 21:06, Rodrigo Piovezan <piovezan@gmail.com> escreveu:} else if (urlConnection.getResponseCode() == HttpUrlConnection.HTTP_UNAUTHORIZED) { // HTTP 401Se você usa um token para autenticar e o retorno é somente um true ou false, dá a impressão que essa API REST é um pouco diferente das outras. Pode significar que o servidor está guardando o estado de "o token fornecido foi autenticado" e aceitando as requisições seguintes sem se importar com nenhum tipo de autenticação, pelo menos por um certo período. Se for isso mesmo, observe que esse não é o comportamento mais comum de uma API REST. O comum seria você se autenticar com credenciais convencionais (login e senha, por exemplo, ou algum tipo de código conhecido por você), credenciais estas enviadas via POST, e caso essas credenciais sejam aceitas pelo servidor ele então retornaria um token, que você teria que incluir em futuras requisições como substituto das credenciais que você já usou (querendo dizer "esta é uma requisição válida, vindo de um cliente que eu já autentiquei"). Aí, dependendo da API, esse token é sempre o mesmo para todas as requisições feitas durante um certo período ou então pode variar a cada requisição (neste caso ele pode ser retornado em uma requisição para ser usado na próxima).Isso que eu falei por si só pode ser que sirva para esclarecer e resolver o seu problema. Em todo caso, seguem algumas considerações sobre seu código:está faltando uma linha assim:
A biblioteca HttpUrlConnection está fazendo o trabalho dela corretamente. Porém, me parece que a URL de autenticação está sendo criada (variável urlAuth) mas não está sendo chamada. Ou seja, abaixo da linha:
urlConnection.setRequestMethod("POST");urlConnection.connect();Outra coisa, após esse connect() você deveria primeiro ver se o código HTTP retornado é o esperado, antes de olhar o corpo da resposta. Em outras palavras:if (urlConnection.getResponseCode() == HttpUrlConnection.HTTP_OK) { // HTTP 200Log.i("TESTE AUTEN", urlConnection.getResponseMessage());
Log.i("TESTE AUTEN", "A credencial fornecida não foi aceita pelo servidor");
}
Mais uma coisa. No código acima eu estou logando o valor retornado por getResponseMessage() mas provavelmente não é isso que você quer fazer; em vez disso você deveria jogá-lo em uma variável String, "parsear" essa string (convertê-la em um JSON por exemplo, caso o formato dela seja JSON) e fazer algo com esses dados (aí vai depender de como a sua API REST funciona, se é retornando somente um true ou false ou então um token que pode ser usado em uma futura requisição).2015-02-19 17:10 GMT-02:00 wesley lima da silva <fioalpha@gmail.com>:Agradeço pela ajuda, entendi, vendo a documentação o método de autenticação retorna true/false, fiz un teste usando o browser, fiz duas duas paginas uma para autenticar com o token e outro fazendo a requisição com minha consulta funcionou.
Agora eu não sei que preciso implementar algum método ou alguns atributo, sera que deveria troca a biblioteca httpUrlConnection.Att.
Em 19/02/2015 15:08, "Eldio Santos Jr." <eldiosantos@gmail.com> escreveu:Wesley, o REST por definição é stateless, ou seja, em teoria ele não guarda uma sessão como uma aplicação web comum...Provavelmente essa autenticação deve retornar algo que você deva usar nas demais requisições... Tenta verificar isso com quem criou a API (ou na documentação)...--Em 19 de fevereiro de 2015 12:57, wesley lima da silva <fioalpha@gmail.com> escreveu:Eldio não consigo manda agora, eu consigo autenticar no servidor só que quando solicito uma busca que seria com método GET me retorna não autorizado, agora não sei se tem que implementar a autenticação junto com a busca e se tiver naum sei como implementar
AttEm 19/02/2015 11:42, "Eldio Santos Jr." <eldiosantos@gmail.com> escreveu:Wesley, pode mandar o que sai no log da execução?--Em 19 de fevereiro de 2015 10:43, wesley lima da silva <fioalpha@gmail.com> escreveu:Eu to usando o asynctask mas ta BA mesma thread
Em 19/02/2015 09:33, "luis fernando rodrigues dos santos" <luisbluex@gmail.com> escreveu:isso está dentro de uma nova Thread ?--
quinta-feira, 19 de Fevereiro de 2015 às 03:57:53 UTC-2, wesley lima da silva escreveu:Boa noite a todos,
gostaria de uma ajuda, estou construindo um app que faz consumo de dados web usando a tecnologia RESTFUL, o meu problema é salva a autenticação, a autenticação é efetuada usando o metodo "POST", mas quando faço o consulta me retorna não autenticado, não sei a minha lógica está errado. Segue um pedaço do código
URL urlAuth = new URL(BASE_URL+"Login/Autenticar?token="+TOKEN);
urlConnection = (HttpURLConnection) urlAuth.openConnection();
Log.i("TESTE", urlConnection.toString());
urlConnection.setRequestMethod("POST");
Log.i("TESTE AUTEN", urlConnection.getResponseMessage());
URL url1 = new URL(BASE_URL+"Linha/Buscar?termosBusca=8000");
urlConnection = (HttpURLConnection) url1.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.connect()
Log.i("TESTE_AUTH", urlConnection.connect())
Atenciosamente,
Wesley
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--Eldio Santos Junior
Tel.: (21) 8884-3757
Skype: eldiojr
Twitter: @eldiusPágina pessoal: http://eldiosantos.net
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--Eldio Santos Junior
Tel.: (21) 8884-3757
Skype: eldiojr
Twitter: @eldiusPágina pessoal: http://eldiosantos.net
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--Eduardo Cucharro
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário