【问题标题】:Twitter anywhere Tweet Box Json responseTwitter 任何地方 Tweet Box Json 响应
【发布时间】:2012-09-06 00:30:44
【问题描述】:

首先,这是我的基本代码:

    <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

关于如何将该错误消息拉入警报的任何想法?看起来应该很简单,但我正在用头撞墙。谢谢

【问题讨论】:

    标签: jquery json twitter twitter-oauth twitter-anywhere


    【解决方案1】:

    试试

    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);
        });
    });
    

    【讨论】:

    • 感谢穆萨的回复。现在我确实收到了一个弹出的警报,但它是空白的,并且在控制台中它仍然显示GET https://api.twitter.com/1/statuses/update.json 401 Unauthorized 我将它设置在一个超时函数中以确保它在响应之后执行,但仍然是空白的。有什么想法吗?
    • @IvanDurst 在.error 中执行console.log(jqXHR) 并查看jqXHR 的哪些属性具有您想要的信息。
    • Musa,我认为我遇到的问题是 json 来自不同的 url。我什至不确定我是否可以通过 Twitter Anywhere 直接从 Twitter 中提取这些数据,尽管我认为既然它已登录到控制台,我可以在我的页面上显示它。我尝试将 callback=? 添加到 json url 的末尾,但无济于事。基本上,我只想从 twitter json 中显示这个字符串:"error":"Status is a duplicate."(或其他任何可能的“错误”)。感谢您的帮助
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-12-03
      • 2013-04-20
      • 2011-04-05
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多