0

我正在使用搜索 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));
  });

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

4

1 回答 1

0

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

例如,你说

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

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

你想要类似的东西

$.each(data, (function(i, tweet) {
于 2012-05-16T09:25:25.477 回答