不能听命于自己者,就要受命于他人。网站首页学海无涯

利用接口通过QQ获取用户昵称头像等信息

陈佚2018-12-13 22:51:313人围观暂无分类
简介今天有朋友问留言页面通过QQ获取用户信息是怎么做的。其实比较简单,通过一个简单的接口就可以实现啦!

先晒出接口,比较简单尾部一个QQ作为参数(get方式)

http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=654080169

下面就是返回值

portraitCallBack({    
   "654080169":[
       "http://qlogo2.store.qq.com/qzone/654080169/654080169/100",
       12857,-1,0,0,0,"橡皮章笨熊",0
    ]})

留言页面

这是博客的留言页面

输入QQ号,通过jQ的blur事件,获取输入框中的QQ号并发送AJAX请求

$('#QQ').blur(function(){
    if (jmz.GetLength($(this).val())>4) {
    var load=layer.msg('正在获取您的QQ信息...', {icon:16,shade:[0.1, '#fff'],time:false });
        $.ajax({
            url: "/Contact/qqInfo.html",
            type: "POST",
            dataType: "JSON",
            data: {qq:$(this).val()},
            success: function(data){
                layer.close(load);
                if (data.msg=='Success') {
                    var nickname=data.name?data.name:'暂无昵称';
                    $('input[name="nickname"]').val(nickname);
                    $('input[name="headimg"]').val(data.txUrl);
                }
            }
        });
    }
});

数据经过后台简单处理,返回json数据

public function qqInfo($qq=''){
        $qq=$qq?$qq:$_POST['post'];
        $get_info = file_get_contents('http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins='.$qq);
        $get_info = mb_convert_encoding($get_info, "UTF-8", "GBK");
        $name = json_decode(substr($get_info,17,-1),true);
        if($name and $qq){
          $txUrl = 'http://q.qlogo.cn/headimg_dl?dst_uin='.$qq.'&spec=100';//头像路径
            $arr = array(
                'code' => 1,
                'msg' => 'Success',
                'txUrl' => $txUrl,
                'name' => urlencode($name[$qq][6])
            );
          exit(stripslashes(urldecode(json_encode($arr))));
        }else{
          $arr = array(
              'code' => -1,
              'msg' => 'Error'
          );
          exit(stripslashes(urldecode(json_encode($arr))));
        }
    }

image.png

这样就大功告成了,非常简单。可以玩一下!

文章评论

    共有0条评论来说两句吧...