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/searchおよびhttps://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 に答える