您好我已经集成了twitter api以在我的网站上显示最近的推文。
我能够获取最近的推文,但是推文不包含用户名(在我的墙上发推文的用户)
下面是我使用过的代码
<div id="twitter_update_list" style="height:300px;width:300px; overflow:auto; overflow-x:hidden">
javascipt的
<script type="text/javascript" src="https://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="https://api.twitter.com/1/statuses/user_timeline.json?screen_name=ABMMyuniverse&include_rts=true&count=4&callback=twitterCallback2"></script>
输出:
Aditya Birla Money MyUniverse现已成为Finnoviti-2012的荣誉获奖者,这是一项激励金融服务领域创新的奖项122天前
团队MyUniverse希望每个人都能享受#排灯节快乐,愿你的生命中的欢乐,和平与繁荣! http://t.co/xbCUSRrT 133天前
只有推文文字我正在...没有用户详细信息..我怎么能得到它?
有人请帮帮我..先谢谢!!!答案 0 :(得分:1)
最后我整合了。我希望这会有所帮助:)
<script language="javascript">
$(document).ready(function () {
var username = 'YourTwitterName';
$.getScript('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=' + username + '&callback=twitterCallback2&count=4');
});
function twitterCallback2(twitters)
{
var statusHTML = [];
for (var i=0; i<twitters.length; i++){
var username = twitters[i].user.screen_name;
var profileimage = twitters[i].user.profile_image_url;
var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
return '<a href="'+url+'">'+url+'</a>';
}).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
return reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>'; });
statusHTML.push('<table style="border-top:1px dotted #000"><tr><td><a target="_blank" href="http://twitter.com/' + username + '">' + username + ':</a><br/>' + status + ' <br/><small style="color:#737373">' + relative_time(twitters[i].created_at) + '</small></td></tr></table>');
}
$('.loading').fadeOut(800, function() {
$('#userlatest_tweet').append($(statusHTML.join('')).hide().fadeIn(750));
});
}
function relative_time(time_value) {
var values = time_value.split(" ");
time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
var parsed_date = Date.parse(time_value);
var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
delta = delta + (relative_to.getTimezoneOffset() * 60);
if (delta < 60) {
return 'less than a minute ago';
}
else if (delta < 120) {
return 'about a minute ago';
}
else if (delta < (60*60)) {
return (parseInt(delta / 60)).toString() + ' minutes ago';
}
else if(delta < (120*60)) {
return 'about an hour ago';
} else if(delta < (24*60*60)) {
return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
} else if(delta < (48*60*60)) {
return '1 day ago';
else {
return (parseInt(delta / 86400)).toString() + ' days ago';
}
}
}
</script>
<div id="userlatest_tweet" style="height: 300px; overflow: auto; overflow-x: hidden">
<div class="loading">
</div>
</div>
你也可以通过修改 statusHTML.push 功能中的表来添加图像.... !!!!
如果它工作正常..然后将其作为答案,这对其他人有帮助!!!