名字学 > 微信名字 > 微信开发笔记:获取用户openid,以及用户头像昵称等信息

微信开发笔记:获取用户openid,以及用户头像昵称等信息

投稿人:名字学起名网2021-01-18 17:41:19

开发微信时,有一种非常方便的方法来一步一步注册用户,即使用用户的微信信息直接登录,这样可以节省很多不必要的麻烦。如何获得具体信息?

首先,我们需要授权微信,以便微信页面具有读取我们的用户信息的权限: 

$redirect_uri = urlencode($url); //设置授权页面,此处填写回调的授权页面地址
$scope = 'snsapi_userinfo'; 
$appid = APPID;
$url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope={$scope}&state=1#wechat_redirect";
header('location:'.$url);    

范围表示用户的授权方法。在这里,我们使用snsapi_userinfo(这是一个弹出授权)来获取用户信息,即使用户不遵循公主号也是如此。

微信昵称搜索_微信 获取昵称_获取微信昵称乱码

appid是我们官方帐户的appid。

微信昵称搜索_微信 获取昵称_获取微信昵称乱码

回调地址是跳转完成后,微信平台会将用户侧页面跳转到回调地址,并以get的形式发送代码。具体的处理方法是这样的: 

微信昵称搜索_获取微信昵称乱码_微信 获取昵称

function https_request($url){
    $curl = curl_init();  //初始化一个cURL会话
        
    //设置请求选项, 包括具体的url
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);  //禁用后cURL将终止从服务端进行验证
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
    curl_setopt($curl,CURLOPT_HEADER,0); //
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10); //
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);        
    $response = curl_exec($curl);  
    curl_close($curl);
        
    $jsoninfo = json_decode($response,true); 
    return $jsoninfo;
}    
$code = $_GET["code"];
$token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$appsecret&code=$code&grant_type=authorization_code";
$token_info = https_request($token_url);
//根据openid和access_token查询用户信息 
$access_token = $token_info['access_token']; 
$openid = $token_info['openid'];
$userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN"; 
$user_info = https_request($userinfo_url);

从微信平台获取代码后,我们可以交换access_token和open_id。使用access_token和open_id微信 获取昵称,我们最终可以获取所需的用户信息。最后微信 获取昵称,提醒读者,别忘了跳到页面的末尾回到用户之前访问过的页面,否则将获得用户信息,并且用户界面将只有一个大白屏。

分享:

扫一扫在手机浏览本文