Home  >  Article  >  Backend Development  >  WeChat public platform implements the method of obtaining user OpenID, public openid_PHP tutorial

WeChat public platform implements the method of obtaining user OpenID, public openid_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 09:57:051004browse

The WeChat public platform implements the method of obtaining the user's OpenID, public openid

This article describes the WeChat public platform's method of obtaining the user's OpenID. Share it with everyone for your reference. The specific analysis is as follows:

After the user clicks the WeChat custom menu view type button, the WeChat client will open the url value (i.e. web link) filled in by the developer in the button to achieve the purpose of opening the web page, but the view cannot obtain the user's openid, which is required Use WeChat's "Webpage Authorization to Obtain User Basic Information" advanced interface to obtain the user's login personal information.

Specific method:

1. Configure the web page authorization callback domain name, such as www.jb51.net

2. A third-party webpage that simulates a public account, http://www.bkjia.com/getcodeurl.php

<&#63;php 
if(isset($_SESSION['user'])){ 
 print_r($_SESSION['user']);
exit;
}
$APPID='公众号在微信的appid';
$REDIRECT_URI='http://www.bkjia.com/callback.php';
$scope='snsapi_base';
//$scope='snsapi_userinfo';//需要授权
$url='https://open.weixin.qq.com/connect/oauth2/authorize&#63;appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
header("Location:".$url);
&#63;>

3. In the bounce URL of the third-party web page, the code is first obtained from the request, and then further exchanged for openid and access_token based on the code. Then the relevant interface of WeChat can be called based on openid and access_token to query user information.

<&#63;php
//http://www.bkjia.com/callback.php
$appid = "公众号在微信的appid"; 
$secret = "公众号在微信的app secret"; 
$code = $_GET["code"]; 
$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token&#63;appid='.$appid.'&secret='.$secret.'&code='.$code.'&grant_type=authorization_code';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$get_token_url); 
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 
$res = curl_exec($ch); 
curl_close($ch); 
$json_obj = json_decode($res,true); 
//根据openid和access_token查询用户信息 
$access_token = $json_obj['access_token']; 
$openid = $json_obj['openid']; 
$get_user_info_url = 'https://api.weixin.qq.com/sns/userinfo&#63;access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; 

$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,$get_user_info_url); 
curl_setopt($ch,CURLOPT_HEADER,0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); 
$res = curl_exec($ch); 
curl_close($ch); 

//解析json 
$user_obj = json_decode($res,true); 
$_SESSION['user'] = $user_obj; 
print_r($user_obj); 
&#63;>

I hope this article will be helpful to everyone in developing WeChat public platform based on PHP.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/984617.htmlTechArticleWeChat public platform implements the method of obtaining user OpenID, public openid. This article describes the example of WeChat public platform obtaining user OpenID. method. Share it with everyone for your reference. Specific points...
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