Home  >  Article  >  Backend Development  >  How to obtain basic information of users following WeChat public platform with PHP

How to obtain basic information of users following WeChat public platform with PHP

墨辰丷
墨辰丷Original
2018-06-07 15:13:236349browse

This article mainly introduces how PHP obtains the basic information of users following the WeChat public platform. Interested friends can refer to it. I hope it will be helpful to everyone.

Combining WeChat with third-party websites is a solution that many customers often ask for. Here is a brief introduction to obtaining basic information of WeChat users and logging in directly on third-party websites.

When a WeChat public account follows a public account, a unique OpenID will be generated. At this time, we need to use it to request the WeChat server to obtain the user's basic information, including avatar, nickname, etc.

For more detailed instructions, please refer to the WeChat development documentation.

The steps to obtain are as follows:

1 Step 1: The user agrees to authorize and obtain the code
2 Step 2: Exchange the code for web page authorization access_token
3 Step 3: Refresh access_token (if necessary)
4 Step 4: Pull user information (scope is required to be snsapi_userinfo)
5 Attachment: Verify whether the authorization certificate (access_token) is valid

1. On the WeChat public platform - Developer Center: Obtain user basic information through web page authorization: click "Modify" and configure the web page callback domain name

2. User authorization to obtain code

Required resources:

$appid = '**********************';
$appsecret = '***** **********************';

Note: redirect_url is the callback link address for redirection after authorization. Please use urlencode to process the link.

Add the configured $url = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$appid.'&redirect_uri=http:// at the website entrance jixian.c.zmit.cn/&response_type=code&scope=snsapi_userinfo&state=123&connect_redirect=1#wechat_redirect';

and request access to the appeal url.

When the user is authorized, the set domain name will be called back, and the code we need will be spliced ​​into the url parameter. We can directly use $_GET['code'] to get it!

3. Obtain web page authorization access_token and openid through code

$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$appid .'&secret='.$appsecret.'&code='.$code.'&grant_type=authorization_code';
$token = json_decode(file_get_contents($token_url));
$opendid= $token->openid ;
$access_token = $token->access_token;

4. Obtain user information

$info_url = 'https://api.weixin.qq.com/sns/userinfo ?access_token='.$access_token.'&openid='.$opendid.'⟨=zh_CN';
$info = json_decode(file_get_contents($info_url));
$data['name'] = $info ->nickname;
$data['image'] = $info->headimgurl;
print_r($info);

5. After obtaining the user's openid and other information, We can store it in the database. As long as there is an openid, it is equivalent to the WeChat user having logged in to the website!

Use the access_token obtained by AppID and AppSecret to obtain the user's basic information through the global Access Token

1. When the user follows or replies to a message, the user's OpenID can be obtained

<xml>
 <ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
 <FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName>
 <CreateTime>1372307736</CreateTime>
 <MsgType><![CDATA[event]]></MsgType>
 <Event><![CDATA[subscribe]]></Event>
 <EventKey><![CDATA[]]></EventKey>
</xml>

The FromUserName is OpenID

2. Then use the access_token interface to request the global Access Token

https://api.weixin.qq.com/cgi- bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
Return result:

{
 "access_token": "NU7Kr6v9L9TQaqm5NE3OTPctTZx797Wxw4Snd2WL2HHBqLCiXlDVOw2l-Se0I-WmOLLniAYLAwzhbYhXNjbLc_KAA092cxkmpj5FpuqNO0IL7bB0Exz5s5qC9Umypy-rz2y441W9qgfnmNtIZWSjSQ",
 "expires_in": 7200
}

3. Then use global ACCESS_TOKEN to obtain OpenID details

https://api.weixin.qq .com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID
Return as follows:

{
"subscribe": 1,
"openid": "oLVPpjqs2BhvzwPj5A-vTYAX4GLc" ,
"nickname": "Hedgehog Baby",
"sex": 1,
"language": "zh_CN",
"city": "Shenzhen",
"province" : "Guangdong",
"country": "China",
"headimgurl": "http://wx.qlogo.cn/mmopen/JcDicrZBlREhnNXZRudod9PmibRkIs5K2f1tUQ7lFjC63pYHaXGxNDgMzjGDEuvzYZbFOqtUXaxSdoZG6iane5ko9H30krI bzGv/0",
"subscribe_time": 1386160805
}

At this point, the user’s basic information is obtained.

This method is most suitable for users to reply with a message welcoming the user's nickname when following it, as shown in the reply when following the public account below. Scan the QR code to experience it.

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

TP5 method of uploading files in PHP

TP5 Request request object in PHP Method

php method to implement monomorphic design pattern

The above is the detailed content of How to obtain basic information of users following WeChat public platform with PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn