【问题标题】:Trouble migrating from twitter search api to status api从 twitter 搜索 api 迁移到状态 api 时遇到问题
【发布时间】:2012-05-16 09:07:15
【问题描述】:

我使用搜索 API 来获取特定用户的推文。它工作得很好,只是它无法获取用户名包含数字的推文。

所以根据建议,我将查询替换为状态 api 的查询。但是现在无法解析!!

在旧代码下方发布以显示推文详细信息。

function displayTweets(data) {
        //var data = JSON.parse(d);
        $("#heading").html("Tweets: <span class='handleName'>@"+handle+"</span>");
    $("#loading").remove();
    $("#tweets").children().remove();
    alert("1");
    $.each(data.results, function(i, tweet) {
        alert("hi");
        if(tweet.text !== undefined) {
         // Calculate how many hours ago was the tweet posted
            var date_tweet = new Date(tweet.created_at);
            var date_now   = new Date();
            var date_diff  = date_now - date_tweet;
            var hours      = Math.round(date_diff/(1000*60*60));        // calc time to tweet in hours
            if(hours < 1){
                hours = Math.round(date_diff/(1000*60));
                if(hours<1){
                    $("#tweets").append($("<li/>").html(tweet.text+" <span class='tweetTime'>--a moment ago.</span>"));
                }else{
                    $("#tweets").append($("<li/>").html(tweet.text+" <span class='tweetTime'>--"+hours+" minute(s) ago.</span>"));
                }
            }else{
                $("#tweets").append($("<li/>").html(tweet.text+" <span class='tweetTime'>--"+hours+" hour(s) ago.</span>"));
            }
        }
    });
}

现在我用来获取响应并将响应存储在本地存储中的查询字符串:

function sendRequest(handle, noOfTweets, boolDisplay){
    $.getJSON("http://api.twitter.com/1/statuses/user_timeline.json?screen_name="+ handle + "&count=" + noOfTweets + "&callback=?", function(data) {
    if(boolDisplay){
        displayTweets(data);
    }
    localStorage.setItem("tweets"+handle, JSON.stringify(data));
  });

请告诉我需要进行哪些更改! }

【问题讨论】:

  • 我也试过改变 displayTweets(data);显示推文(JSON.parse(数据));但它不工作

标签: javascript jquery html twitter local-storage


【解决方案1】:

返回的 JSON 的结构完全不同。请参阅https://dev.twitter.com/docs/api/1/get/search 和https://dev.twitter.com/docs/api/1/get/statuses/user_timeline 处的示例

例如,你说

$.each(data.results, function(i, tweet) {

但用户时间线不包含结果元素。

你想要类似的东西

$.each(data, (function(i, tweet) {

【讨论】:

  • 谢谢!你能告诉我 trim_user=true 对我的情况是否有帮助吗?还有任何“简短”方式来提供指向该推文的链接或添加转发选项?
猜你喜欢
  • 1970-01-01
  • 2020-12-11
  • 1970-01-01
  • 2011-01-16
  • 2019-04-16
  • 2019-12-30
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多