首先,这是我的基本代码:
<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
有关如何将该错误消息提取到警报的任何想法?看起来应该这么简单,但是我正撞在墙上。感谢
答案 0 :(得分: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);
});
});
答案 1 :(得分:0)
我相信Twitter API的新变化不允许重复消息。
https://dev.twitter.com/docs/api/1.1/post/statuses/update
对于每次更新尝试,都会将更新文本与身份验证用户最近的推文进行比较。任何导致重复的尝试都将被阻止,从而导致403错误。因此,用户无法连续两次提交相同的状态。