1

これはこの質問に関連しています。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);

何か不足していますか?これにアプローチするより良い方法はありますか?

4

3 に答える 3

2

これは、URLRequestが認証を処理しているためです。これを回避するには、次の手順を実行します。

request.authenticate = false;

よろしく!

アラン。

于 2009-06-18T07:14:11.603 に答える
1

ここの Twitter API Docから:

suppress_response_codes: このパラメーターが存在する場合、すべての応答が 200 OK ステータス コード (エラーであっても) で返されます。このパラメーターは、200 以外のすべての応答をインターセプトするブラウザーで実行されている Flash および JavaScript アプリケーションに対応するために存在します。使用された場合、応答本文を解析してエラー状態を判断するのはクライアントの仕事です。これらのエラー メッセージは変更される可能性があるため、注意して使用してください。

于 2008-12-31T23:12:35.307 に答える
0

これが通常の Flex アプリで機能するかどうかはわかりませんが、AIR アプリケーションでは、有効と見なされる許可された応答コードのリストを設定できます。

于 2009-06-02T13:18:07.463 に答える