微信开发笔记:获取用户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微信 获取昵称,我们最终可以获取所需的用户信息。最后微信 获取昵称,提醒读者,别忘了跳到页面的末尾回到用户之前访问过的页面,否则将获得用户信息,并且用户界面将只有一个大白屏。
下一篇 :微信名字大全超拽