在路上

 找回密码
 立即注册
在路上 站点首页 学习 查看内容

微信授权获取用户的openid

2016-12-20 13:14| 发布者: zhangjf| 查看: 456| 评论: 0

摘要: 用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组 ?php/* ...
用户同意授权获取code,通过php的curl 把access_token和openid给爬下来,再根据access_token和openid把微信用户的基本信息给爬下来其中json_decode()记得写true 不然返回的是对象不是数组
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Administrator
  5. * Date: 2016/8/9
  6. * Time: 15:31
  7. */
  8. echo "<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">";
  9. $code = $_GET['code'];
  10. //echo "code: ";
  11. //echo $code;
  12. $getAccess = new getWxAccess();
  13. $getAccess->getCode();
  14. class getWxAccess{
  15. public function __construct()
  16. {
  17. }
  18. public function getCode(){
  19. $appid = 'wx8109981b74f329f6';
  20. $secret = 'd5cc4a9838959c3bd6f814ed79afd811';
  21. $code = $_GET['code'];
  22. $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
  23. // echo $url;
  24. $ch = curl_init();
  25. curl_setopt($ch, CURLOPT_URL,$url );
  26. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1 );
  27. $res = curl_exec($ch);
  28. curl_close($ch);
  29. // if(curl_error($ch)){
  30. // var_dump(curl_error($ch));
  31. // }
  32. $arr = json_decode($res , true);
  33. //得到access_token
  34. // var_dump($arr);
  35. // echo $arr["access_token"];
  36. $this -> getUserInfo($arr["access_token"],$arr["openid"]);
  37. }
  38. public function getUserInfo($accessToken , $openid){
  39. $url = "https://api.weixin.qq.com/sns/userinfo?access_token=$accessToken&openid=$openid&lang=zh_CN";
  40. $ch = curl_init();
  41. curl_setopt($ch, CURLOPT_URL,$url );
  42. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1 );
  43. $res = curl_exec($ch);
  44. curl_close($ch);
  45. // if(curl_error($ch)){
  46. // var_dump(curl_error($ch));
  47. // }
  48. $arr = json_decode($res , true);
  49. //获取用户信息
  50. // var_dump($arr);
  51. echo "<h1>用户名:".$arr['nickname']."</h1>";
  52. echo "<h1>头像:<img style='width: 10%;text-align: center' src=".$arr['headimgurl']."></h1>";
  53. if($arr['sex'] == '1'){
  54. $arr['sex'] = '男';
  55. }else{
  56. $arr['sex'] ='女';
  57. }
  58. echo "<h2>性别:".$arr['sex']."</h2>";
  59. echo "<h3>国家:".$arr['country']."</h3>";
  60. }
  61. }
  62. ?>
复制代码

最新评论

小黑屋|在路上 ( 蜀ICP备15035742号-1 

;

GMT+8, 2025-7-8 06:50

Copyright 2015-2025 djqfx

返回顶部