PHP利用QQ空间接口获取QQ昵称函数

在日常写程序过程中经常会用到获取用户的QQ昵称,那么这项功能是怎么实现的?那么我接下来做出解析。

首先请求地址是:

http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=2687409344
参数 uins[需要获取的QQ号]

我们访问进去可以看到返回的数据格式是这样的:

portraitCallBack({"2687409344":["http://qlogo1.store.qq.com/qzone/2687409344/2687409344/100",25566,-1,0,0,0,"iNPut",0]})

我们可以看到由portraitCallBack包裹着关于”2687409344″QQ的相关数据,其中可以明显看到我们的QQ昵称是第六个数据,那么我们怎么获取到它呢?

首先我们通过file_get_contents函数请求接口地址并变量命名为$data,获取到的数据还需要处理一下,通过explode(‘,’,$data)这个函数可以把内容中的json数据提取出来并且变量命名为$json,接下来就是获取json数据中的第六个数据?

使用trim(mb_convert_encoding($json[6], “UTF-8”, “GBK”),'”‘);这段代码的意思就是将$json中第六条数据提取,并且以UTF-8 GBK格式显示,至此我们已经完整的获取到QQ昵称了。

可以参考以下函数:

function get_qqname($qq)
{
    $data = file_get_contents('http://r.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins='.$qq);
    $json = explode(',',$json);
    return = trim(mb_convert_encoding($json[6], "UTF-8", "GBK"),'"');
}

0

没有评论

No comments yet

发表评论

电子邮件地址不会被公开。 必填项已用*标注