1

まず、私の基本的なコードは次のとおりです。

    <div id="example-ontweet"></div>

<script type="text/javascript">

  twttr.anywhere(function (T) {

    T("#example-ontweet").tweetBox({

      onTweet : function(plaintext, html) {

        alert(plaintext);
        alert(html);

      }

    });

  });

</script>

ツイートを送信すると、正常に機能します。重複したツイートを送信しようとすると、それが許可されず、読み込みスピナーがエラー メッセージなしでスピンするだけです。これもデフォルトの動作です。ツイートの重複送信時に firebug コンソールを見ると、次のように表示されます。

POST https://api.twitter.com/1/statuses/update.json 403 forbidden

[応答コンソール] タブの下に、次の情報があります。

{"error":"Status is a duplicate.","request":"\/1\/statuses\/update.json"}

私がやりたいことは、失敗したときにその応答メッセージを警告することだけです-オブジェクト全体、またはできれば「エラー」だけです。私は試した:

me.tweetBox.$button.click(function(){   
    $.getJSON('https://api.twitter.com/1/statuses/update.json', function(data) {
        alert(JSON.stringify(data));
    });
});

settimeout 関数内とそうでない場合の両方で、動作するように見えましたが、試したときにコンソールの下に吐き出されました。

GET https://api.twitter.com/1/statuses/update.json    401 Unauthorized

そのエラー メッセージをアラートに取り込む方法のアイデアはありますか? 単純なようですが、頭を壁にぶつけています。ありがとう

4

2 に答える 2

0

Twitter の API に対する新しい変更により、メッセージの重複は許可されないと思います。

https://dev.twitter.com/docs/api/1.1/post/statuses/update

更新を試行するたびに、更新テキストが認証ユーザーの最近のツイートと比較されます。重複を引き起こす可能性のある試みはブロックされ、403 エラーが発生します。したがって、ユーザーは同じステータスを 2 回続けて送信することはできません。

于 2012-10-19T00:18:18.693 に答える
0

試す

me.tweetBox.$button.click(function(){   
    $.getJSON('https://api.twitter.com/1/statuses/update.json', function(data) {
        alert(JSON.stringify(data));
    }).error(function(jqXHR, textStatus, errorThrown){
        alert(jqXHR.responseText);
    });
});
于 2012-09-12T23:39:22.953 に答える