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>

当我发送我提交一条推文时,它可以正常工作。当我尝试提交重复的推文时,它不允许这样做,并且加载微调器只是旋转而没有错误消息——也是默认行为。当我在提交重复推文时查看萤火虫控制台时,我看到:

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

尝试

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 回答
0

我相信 Twitter API 的新变化不允许重复消息。

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

对于每次更新尝试,都会将更新文本与验证用户最近的推文进行比较。任何会导致重复的尝试都将被阻止,从而导致 403 错误。因此,一个用户不能连续两次提交相同的状态。

于 2012-10-19T00:18:18.693 回答