PS:随着现在新浪微博的广泛使用,微博平台的开放性也越来越受关注,应用的互联和网站的接入,为我们提供了越来越方便的互联网体验,因此对开发者来说,开发也变得越来越广,越来越容易,我今天主要来分享一下通过新浪微博开放API来获取个人微博账号的信息,例如,获取微博账号的粉丝数、微博数、关注等。
对于我这样的初学者来说,也是因为最近需要才开始小小研究了一下,结果发现还是比较简单的,但是你还是需要认真了解一下新浪微博的api,这样以便于你更好的获取你想要的数据,因为我主要是获取微博数,以及粉丝数。所以我调用了users/show 微博接口,这个接口可以提供的数据主要是你账号的基本资料,但是还是比较完全的。
微博API关于调取用户接口地址:/wiki/2/users/show,可以通过这个文档详细的看一下。
调用的基本原理很简单,就是我们将账号的信息(id,appkey,昵称)通过GET方式提交给新浪开放平台,然后获取到授权,同时将数据以json的格式返回。
//我们简单的测试一下
http://api./users/show.json?source=APPKEY&user_id=XXXXXXX&screen_name=carl_涛 直接在地址栏提交看是否返回数据,这里我做一下解释
source ==>[必须参数] 参数source处填写微博的appkey 需要申请appkey;申请地址:[点击前往]
user_id ==>[可选参数] 参数user_id 是你微博账号的id 登录微博之后看到首页 链接后面就可以看到(在没有设置个性域名的前提下),/xxxx 这串数组就是你的 user_id 了
screen_name ==>[可选参数]这是微博的昵称
如果访问以上链接可以看到返回的数据,说明你的参数是对的,已经取到了数据。然后接下来怎么处理就很简单了,这下我们利用ajax来处理一下,因为是json格式的数据,我们可以使用php来获取数据,如果在页面上js还是最合适的。
下面我是我写的ajax获取信息:
$(document).ready(function(){
$('#submit').click(function(){
var html="";
$.ajax({
url:'http://api./users/show.json?source=3476523072&user_id=xxxxxx&screen_name=carl_%E6%B6%9B',
Type:'GET',
dataType:'json',
cache:false,
success:function(msg){
if(msg)
{
html += "
";
html += "
ID:"+msg.id+"";
html += "
昵称:"+msg.screen_name+"";
html += "
粉丝数:"+msg.followers_count+"";
html += "
关注:"+msg.friends_count+"";
html += "
微博数:"+msg.statuses_count+"";
html +="
";
document.write(html);
}
else
{
alert('调用数据不存在!');
}
}
});
});
});
通过这样我们就可以把需要的数据在需要的地方给展现出来,如果需要更多的信息可以按需要提取,我这里为举例子就写了这几条。
个人分享文章,高手请绕行,希望对需要的人有所受用!如果有错误,请指点!
新浪2.0用户接口地址:
/2/users/show.json?source=xxx&uid=xxxxx
注:因新浪微博开放接口已升级到V2接口,以下更新2.0的写法同时为解决ajax跨域问题,以下获取数据格式将使用jsonp格式。
更新时间:-03-04
ajax:
$(function(){
var html="";
$.ajax({
url:'/2/users/show.json?source=xxx&uid=xxxxxxxx', //参数与v1接口相似
type:'GET',
dataType:'jsonp', //[重要],默认是支持jsonp格式数据的返回可解决跨域问题;
cache:false,
success:function(msg){
//获取返回信息
if(msg!='' && msg!=null)
{
html += "
";
html += "
ID:"+msg.data.id+"";
html += "
昵称:"+msg.data.screen_name+"";
html += "
粉丝数:"+msg.data.followers_count+"";
html += "
关注:"+msg.data.friends_count+"";
html += "
微博数:"+msg.data.statuses_count+"";
html +="
";
document.write(html);
}
else
{
alert('调用数据不存在!');
}
}
});
});
更新时间:-10-14
发现近期有很多童鞋访问该文章,如果有问题或者对代码有疑虑可在评论区留言我会定期查看并进行完善。谢谢!