欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

通过openId能获取到QQ号码吗?

程序员文章站 2022-04-25 22:13:24
...
我在PHP里已经成功获取到QQ的openId,请问能通过openId获取到QQ号码吗?如果能,请问怎么获取?


回复讨论(解决方案)

应该是不可以,我之前也没找到这个接口

跟微信平台一样只能得到昵称头像等一般用户信息 像qq号码这种高机密度的信息你时获取不到的 但是有代替的办法

拿微信公众平台来说 一个账号 关注一个公众号 他的openID对这个公众号来说是唯一的 如果要区别用户 用这个openId即可

我通过js获取到QQ信息后,用下面的代码提交到后台注册
//这里可以调用自己的保存接口
$.post("/api_QQ.php",{
login_account:openId,
nickname:reqData.nickname,
act:'login',
rand: Math.random()
},function(data){
if(data.status.code=='1')
{
window.location.reload();
}
},"json");

api_QQ.php代码如下:我现在当心的是别人直接模拟POST数据,直接进入到api_QQ.php注册,请问应该怎么防?
if($action == 'login')
{
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest")
{
$login_account = isset($_POST['login_account']) ? trim($_POST['login_account']) : '';
$real_name = isset($_POST['nickname']) ? trim($_POST['nickname']) : '';

$ajax=array();
if( $user->check_user($login_account) != false)
{
//如果已注册则直接登陆
..........省略
}
else
{
//如果未注册则注册并直接登陆
..........省略
}
$ajax['status']['code'] = '1'; //成功
echo json_encode($ajax);
exit;
}
}

QQ号码应该没有公开的API吧