1

現在、org.iotashan.oauth.* パッケージ (https://github.com/iotashan/oauth-as3/tree/master/src/org/iotashan/oauth) を使用して、AS3/Adobe で Twitter OAuth を処理しています空気。私は HTMLLoader を使用してパーミッションの許可ダイアログをロードし、場所の変更イベントをリッスンしてベリファイアを取得し、トークンを承認するためにキューに入れます。認証が機能し、Twitter がトークンを正常に送信し、アクセス トークンのトークン。しかし、テスト投稿をしようとすると、次のエラーが発生し続けます。アクセストークンを正常に取得するためのイベントハンドラーは次のとおりです。

    protected function handleTwitterOAuthAccessTokenLoadComplete( evt:Event ):void
    {
        _twitterAccessToken     = OAuthUtil.getTokenFromResponse( evt.target.data );
        trace( "THE ACCESS TOKEN:", _twitterAccessToken.key );


        //Code to send out a test tweet to logged in Twitter user's account
        var oauthRequest:OAuthRequest = 
            new OAuthRequest(
                OAuthRequest.HTTP_MEHTOD_POST, "https://api.twitter.com/1/statuses/update.json", 
                {},
                _twitterOAuthConsumer, _twitterAccessToken
            );

        var request:URLRequest = new URLRequest(oauthRequest.requestURL);
        request.requestHeaders.push( oauthRequest.buildRequest( _twitterOAuthSignature, OAuthRequest.RESULT_TYPE_HEADER) );
        request.method = URLRequestMethod.POST;
        request.data    = new URLVariables( "scope=hello" );
        var urlLoader:URLLoader = new URLLoader();
        urlLoader.addEventListener( Event.COMPLETE, function( evt:Event ):void
        {
            trace( evt.target.data );
        } );
        urlLoader.addEventListener( IOErrorEvent.IO_ERROR, function( evt:IOErrorEvent ):void
        {
            trace("ERROR");
            trace( evt.currentTarget.data );
        } );
        urlLoader.load( request );
    }

サーバーから取得したエラーは次のとおりです。

{"error":"Could not authenticate with OAuth.","request":"\/statuses\/update.json"}

送信されているヘッダーを確認したところ、Twitter OAuth ツール (Twitter のアプリ設定ページ) が示す内容とほとんど一致していました。他に何をしようか途方に暮れています。ヘッダーがトレースするものは次のとおりです。

Authorization: OAuth oauth_timestamp="1346276194",
oauth_token="14815835-[REMOVED FOR STACK OVERFLOW]",
oauth_signature="Vj%2FTjbV%2FumMKS66yK8VMXSv%2Fpl4%3D",
oauth_consumer_key="bUka[REMOVED FOR STACK OVERFLOW]",
oauth_signature_method="HMAC-SHA1",
oauth_version="1.0",
oauth_nonce="74C5E2D8-D805-9B04-6353-7450770E1056"

これは、Twitter OAuth ツールが次のように表示されることを示しています。

Authorization: OAuth oauth_consumer_key="bUka[REMOVED FOR STACK OVERFLOW]",
oauth_nonce="95a9ef376211a67f550e55a32ad307e4",
oauth_signature="avFkHD4d9fPRv9iE4OuczEI2AOU%3D",
oauth_signature_method="HMAC-SHA1",
oauth_timestamp="1346268740",
oauth_token="14815835-[REMOVED FOR STACK OVERFLOW]",
oauth_version="1.0"

ご覧のとおり、すべてが一致しているように見えます... oauth_token を含みます。

4

0 に答える 0