Como posso evitar um diálogo de autenticação no Flex ao usar HTTPService ou URLRequest?
-
03-07-2019 - |
Pergunta
Isso não é uma experiência de usuário desejável, e isso acontece tanto quando eu uso HTTPService e URLRequest. Não parece ser um evento que eu posso pegar para cancelar o diálogo.
Aqui está o que minha aparência código como:
var request:URLRequest = new URLRequest('http://twitter.com/statuses/update.json');
request.method = URLRequestMethod.POST;
var encoder : Base64Encoder = new Base64Encoder();
encoder.encode(this.user + ':' + this.password);
request.requestHeaders.push(new URLRequestHeader("Authorization", "Basic " + encoder.toString()));
var params:Object = new Object();
params.status = msg;
request.data = params;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, HandleRequestComplete);
loader.load(request);
Estou faltando alguma coisa? Existe uma melhor maneira de abordar isso?
Solução
A partir do Doc API Twitter aqui :
suppress_response_codes: Se esta parâmetro estiver presente, todas as respostas será devolvido com um status 200 OK código - até mesmo erros. este parâmetro existe para acomodar Flash e aplicações JavaScript em execução em navegadores que interceptam todos os não-200 respostas. Se for utilizado, é então o trabalho do cliente para determinar erro afirma ao analisar o corpo da resposta. Use com cuidado, como aqueles de erro mensagens podem mudar.
Outras dicas
Isso é porque seu Pedido URL está a lidar com a autenticação. Para evitar que fazer o seguinte:
request.authenticate = false;
Saudações!
Alain.
Eu não sei se isso funciona em um aplicativo normal, Flex, mas em aplicativos AIR você pode definir uma lista de códigos de resposta permissão para ser considerado válido.