我使用搜索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>"));
}
}
});
}
现在我用来获取响应的查询字符串并将响应存储在localstorage中:
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));
});
请告诉我需要做哪些更改!! }
答案 0 :(得分: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) {