您的位置:首页 > 移动开发 > 微信开发

微信公众号开发_如何获取用户信息?

2015-04-16 02:10 519 查看
如何获取用户信息?

sence:

1)有微信服务认证号,并已开通功能:网页服务>>网页账号>>网页授权获取用户基本信息

2)设置:网页授权获取用户基本信息 后面的 修改 ,设置成 www.jianshu.com [注脚1]

3)用户已经关注公众号

实现功能:获取用户信息userinfo.

THINK:

网页授权获取用户基本信息

具体而言,网页授权流程分为四步:

1、引导用户进入授权页面同意授权,获取code

2、通过code换取网页授权access_token(与基础支持中的access_token不同)

3、如果需要,开发者可以刷新网页授权access_token,避免过期 [先略过]

4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)

简介

1、引导用户进入授权页面同意授权,获取code

code<=appid,redirect_uri*与后台设置需要一致*,scope*snsapi_base*

url:https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=$scope&state=1#wechat_redirect

2、通过code换取网页授权access_token(与基础支持中的access_token不同)

access_token,openid<=appid,secret,code,

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

3、如果需要,开发者可以刷新网页授权access_token,避免过期 [先略过]

4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)

userinfo<=access_token,openid

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

CODING

<?php
/**
* 微信接口获取/code/access_token/userinfo测试
* 1、引导用户进入授权页面同意授权,获取code
* 2、通过code换取网页授权access_token,openid(与基础支持中的access_token不同)
* 3、通过网页授权access_token和openid获取用户基本信息userinfo(支持UnionID机制)
*/

$appid = "wxb0ecfdea8055XXXX";
$secret = "102c519025101e19d74fa4c884b4XXXX";
$redirect_uri = "http://m.XXXX.com/xxxx.php";
$scope = "snsapi_base";

/*1、引导用户进入授权页面同意授权,获取code*/
/*code <= appid,redirect_uri[与后台设置需要一致],scope[snsapi_base]*/
$url_code = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=$scope&state=1#wechat_redirect";
if(empty($_GET['code'])){
//跳转到$url_code,会带一个code参数跳转回来
header("Location:$url_code");
}else{
$code = $_GET['code'];
}
/*2、通过code换取网页授权access_token,openid(与基础支持中的access_token不同)*/
/*access_token,openid <= appid,secret,code*/
$url_access_token = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code";
$json_access_token = file_get_contents($url_access_token);
$arr_access_token = json_decode($json_access_token,TRUE);
$access_token = $arr_access_token['access_token'];
$openid = $arr_access_token['openid'];
/*3、通过网页授权access_token和openid获取用户基本信息userinfo(支持UnionID机制)*/
/*userinfo <= access_token,openid*/
$url_userinfo = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN";
$json_userinfo = file_get_contents($url_userinfo);
$arr_userinfo = json_decode($json_userinfo,TRUE);
/*
arr_userinfo返回值:
["openid"]=>"oy3SMtwGXXXXnuLr7hr2l4"
["nickname"]=>"天天天晴_2014"
["sex"]=>int(1)
["language"]=>"zh_CN"
["city"]=>"东莞"
["province"]=>"广东"
["country"]=>"中国"
["headimgurl"]=>"http://wx.qlogo.cn/mmopen/SicNOemw9NjtgucsSTVDia1ktXXXX0qvibu057GkvUtFThKAKzb9zgYzOXQlNcD4ZTBCvGXXcibrehSEiceNWwicNJEXXrfrJicVg/0"
["privilege"]=>array(0) {}
*/
?>


参考:

微信_公众平台开发者文档:http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐