微信开发源码之如何授权获取用户的openid
白羽 2018-06-12 来源 :网络 阅读 1026 评论 0

摘要:本文将带你了解微信开发之如何授权获取用户的openid,希望本文对大家学微信有所帮助。


用户同意授权获取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. }

19. public function getCode(){

20. $appid = 'wx8109981b74f329f6';

21. $secret = 'd5cc4a9838959c3bd6f814ed79afd811';

22. $code = $_GET['code'];

23. $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";

24. // echo $url;

25. $ch = curl_init();

26. curl_setopt($ch, CURLOPT_URL,$url );

27. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1 );

28. $res = curl_exec($ch);

29. curl_close($ch);

30. // if(curl_error($ch)){

31. // var_dump(curl_error($ch));

32. // }

33. $arr = json_decode($res , true);

34. //得到access_token

35. // var_dump($arr);

36. // echo $arr["access_token"];

37. $this -> getUserInfo($arr["access_token"],$arr["openid"]);

38. }

39. 

40. 

41. public function getUserInfo($accessToken , $openid){

42. $url = "https://api.weixin.qq.com/sns/userinfo?access_token=$accessToken&openid=$openid&lang=zh_CN";

43. $ch = curl_init();

44. curl_setopt($ch, CURLOPT_URL,$url );

45. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1 );

46. $res = curl_exec($ch);

47. curl_close($ch);

48. // if(curl_error($ch)){

49. // var_dump(curl_error($ch));

50. // }

51. $arr = json_decode($res , true);

52. //获取用户信息

53. // var_dump($arr);

54. echo "<h1>用户名:".$arr['nickname']."</h1>";

55. echo "<h1>头像:<img style='width: 10%;text-align: center' src=".$arr['headimgurl']."></h1>";

56. if($arr['sex'] == '1'){

57. $arr['sex'] = '男';

58. }else{

59. $arr['sex'] ='女';

60. }

61. echo "<h2>性别:".$arr['sex']."</h2>";

62. echo "<h3>国家:".$arr['country']."</h3>";

63. }

64. }

65. ?>

 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程