Как можно избежать диалога аутентификации во Flex при использовании HTTPService или URLRequest? - PullRequest
1 голос
/ 01 января 2009

Это относится к этому вопросу . Я пишу приложение Flex (WindowedApplication), которое использует REST. Все нормально, когда я публикую пост с действительной аутентификацией, но если мне случится передать неверное имя пользователя или пароль в REST API (API REST Twitter, если быть точным), появится диалог аутентификации.

Это нежелательное взаимодействие с пользователем, и это происходит как при использовании HTTPService, так и URLRequest. Кажется, что нет события, которое я могу поймать, чтобы отменить диалог.

Вот как выглядит мой код:

    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);

Я что-то упустил? Есть ли лучший способ приблизиться к этому?

Ответы [ 3 ]

2 голосов
/ 18 июня 2009

Это потому, что ваш URLRequest обрабатывает аутентификацию. Чтобы избежать этого, сделайте следующее:

request.authenticate = false;

Привет! * * 1004

Alain.

1 голос
/ 01 января 2009

Из документа API Twitter здесь :

suppress_response_codes: если это параметр присутствует, все ответы будет возвращен со статусом 200 OK код - даже ошибки. Этот параметр существует для размещения Flash и Приложения JavaScript, работающие в браузеры, которые перехватывают все не-200 ответы. Если используется, то тогда работа клиента определить ошибку состояния путем анализа тела ответа. Используйте с осторожностью, так как эти ошибки сообщения могут измениться.

0 голосов
/ 02 июня 2009

Я не знаю, работает ли это в обычном приложении Flex, но в приложениях AIR вы можете задать список разрешенных кодов ответов, которые будут считаться действительными.

...