httpservice 또는 urlrequest를 사용할 때 Flex에서 인증 대화 상자를 피하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/404199

문제

이것은 관련이 있습니다 이 질문. REST를 사용하는 Flex 앱 (WindowEdApplication)을 작성하고 있습니다. 유효한 인증으로 게시 할 때는 모든 것이 괜찮지 만, 유효하지 않은 사용자 이름이나 암호를 REST API (Twitter REST API, 구체적으로)로 전달하면 인증 대화 상자가 나타납니다.

그것은 바람직한 사용자 경험이 아니며 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);

내가 뭔가를 놓치고 있습니까? 이것에 접근하는 더 좋은 방법이 있습니까?

도움이 되었습니까?

해결책

트위터 API 문서에서 여기:

suppress_response_codes :이 매개 변수가있는 경우 모든 응답은 200 확인 상태 코드와 함께 반환됩니다. 이 매개 변수는 모두 2000이 아닌 모든 응답을 가로 채는 브라우저에서 실행되는 플래시 및 JavaScript 응용 프로그램을 수용하기 위해 존재합니다. 사용하면 응답 본문을 구문 분석하여 오류 상태를 결정하는 것이 클라이언트의 작업입니다. 오류 메시지가 변경 될 수 있으므로주의해서 사용하십시오.

다른 팁

그것은 당신의 urlrequest가 인증을 처리하고 있기 때문에입니다. 다음을 피하기 위해 다음을 수행합니다.

request.authenticate = false;

문안 인사!

알랭.

이것이 일반적인 Flex 앱에서 작동하는지 모르겠지만 Air Applications에서는 유효한 것으로 간주 될 허용 응답 코드 목록을 설정할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top