


WeChat public account-obtaining user information (webpage authorization acquisition) implementation steps
Nov 21, 2016 pm 03:49 PMDevelop official documents based on the WeChat public account:
The steps to obtain user information are as follows:
1 Step 1: User agrees to authorize and obtain code
2 Step 2: Exchange code for web page authorization access_token
3 Step 3: Refresh access_token (if needed)
4 Step 4: Pull user information (scope is required to be snsapi_userinfo)
1 Obtain code
Under the premise of ensuring that the WeChat public account has the authorization scope (scope parameter) (the service account is obtained After the advanced interface, it has snsapi_base and snsapi_userinfo in the scope parameters by default), guiding followers to open the following page:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope =SCOPE&state=STATE#wechat_redirect
If it prompts "The link cannot be accessed", please check whether the parameters are filled in incorrectly and whether you have the authorization scope permissions corresponding to the scope parameter.
Special note: Due to the high security level of authorization operations, when initiating an authorization request, WeChat will perform a regular strong matching check on the authorization link. If the parameters of the link are in the wrong order, the authorization page will not be accessible normally
Among them:
AppID - the unique identifier of the official account
REDIRECT_URI - jump url
SCOPE - the value is snsapi_base (the authorization page does not pop up, jumps directly, only the user openid can be obtained) or snsapi_userinfo (the authorization page pops up, which can be obtained through openid) Nickname, gender, location. And, even if the user is not following, the information can be obtained as long as the user authorizes it)
STATE - Developers can customize the parameter values ????of a-zA-Z0-9
2 through code In exchange for webpage authorization access_token
If the user agrees to the authorization, the page will jump to redirect_uri/?code=CODE&state=STATE.
state is passed as it is from the STATE parameter above.
Implementation code:
<code class="hljs php">$code = I('get.code'); if (empty($code)) { //todo 非微信訪問(wèn) exit('</code>'); }else{ //授權(quán)后操作 }
Here we can get the code for subsequent acquisition of access_token.
After obtaining the code, request the following link to obtain the access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
appid - the only one for the official account Identity
secret - Key
code - The code returned above
grant_type - The value is authorization_code
Implementation code:
<code class="hljs bash">$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret'); $str = file_get_contents($url); $str = json_decode($str, true); $access_token = $str['access_token'];</code>
The access_token can be cached here to avoid frequent acquisition
Implementation code, take the TP framework as an example:
<code class="hljs php">$access_token = S('access_token'); if (empty($access_token)) { $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret'); $str = file_get_contents($url); $str = json_decode($str, true); $access_token = $str['access_token']; S('access_token', $access_token, 3600); }</code>
After obtaining the access_token, it will also return the openid (user's unique identifier). The official WeChat document explains: the user's unique identifier. Please note that when the user does not follow the official account, accessing the official account's webpage will also generate A unique OpenID for a user and official account
openid uniquely identifies a WeChat user. If the user is not logging in for the first time, they can query the database after getting the openid to see if there is a user bound to this openid. There is no need to re-obtain user data afterwards. , directly obtain the database user_id, set the session, log in directly to access
3 Ignore the third step, only re-obtain the access_token at the required time
4 Pull user information (need to have the scope snsapi_userinfo)
There is no such WeChat ID in the database When the user is bound, it is equivalent to the user's first visit and login, and the user information is obtained through the fourth step (in the case of user authorization, the web page authorization scope is snsapi_userinfo, then the developer can pull the user through access_token and openid at this time information), then create a user in the background and bind this WeChat user (via openid)
Request method
http: GET (please use https protocol) https://api.weixin.qq.com/ sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
access_token - the access_token obtained above
openid - the unique identifier of the public account
Implementation code:
<code class="hljs php">$access_token = S('access_token'); if (empty($access_token)) { $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . C('wechat.AppID') . '&secret=' . C('wechat.AppSecret'); $str = file_get_contents($url); $str = json_decode($str, true); $access_token = $str['access_token']; S('access_token', $access_token, 3600); }</code>
The above are the specific steps for the WeChat public account to obtain user information.

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

H5 is more flexible and customizable, but requires skilled technology; mini programs are quick to get started and easy to maintain, but are limited by the WeChat framework.

H5. The main difference between mini programs and APP is: technical architecture: H5 is based on web technology, and mini programs and APP are independent applications. Experience and functions: H5 is light and easy to use, with limited functions; mini programs are lightweight and have good interactiveness; APPs are powerful and have smooth experience. Compatibility: H5 is cross-platform compatible, applets and APPs are restricted by the platform. Development cost: H5 has low development cost, medium mini programs, and highest APP. Applicable scenarios: H5 is suitable for information display, applets are suitable for lightweight applications, and APPs are suitable for complex functions.

H5 development tools recommendations: VSCode, WebStorm, Atom, Brackets, Sublime Text; Mini Program Development Tools: WeChat Developer Tools, Alipay Mini Program Developer Tools, Baidu Smart Mini Program IDE, Toutiao Mini Program Developer Tools, Taro.

The choice of H5 and applet depends on the requirements. For applications with cross-platform, rapid development and high scalability, choose H5; for applications with native experience, rich functions and platform dependencies, choose applets.

There are differences in the promotion methods of H5 and mini programs: platform dependence: H5 depends on the browser, and mini programs rely on specific platforms (such as WeChat). User experience: The H5 experience is poor, and the mini program provides a smooth experience similar to native applications. Communication method: H5 is spread through links, and mini programs are shared or searched through the platform. H5 promotion methods: social sharing, email marketing, QR code, SEO, paid advertising. Mini program promotion methods: platform promotion, social sharing, offline promotion, ASO, cooperation with other platforms.

The best cryptocurrency trading and analysis platforms include: 1. OKX: the world's number one in trading volume, supports multiple transactions, provides AI market analysis and on-chain data monitoring. 2. Binance: The world's largest exchange, providing in-depth market conditions and new currency first-time offerings. 3. Sesame Open Door: Known for spot trading and OTC channels, it provides automated trading strategies. 4. CoinMarketCap: an authoritative market data platform, covering 20,000 currencies. 5. CoinGecko: Known for community sentiment analysis, it provides DeFi and NFT trend monitoring. 6. Non-small account: a domestic market platform, providing analysis of linkage between A-shares and currency markets. 7. On-chain Finance: Focus on blockchain news and update in-depth reports every day. 8. Golden Finance: 24 small

The login portal for the Douyin web version is https://www.douyin.com/. The login steps include: 1. Open the browser; 2. Enter the URL https://www.douyin.com/; 3. Click the "Login" button and select the login method; 4. Enter the account password; 5. Complete login. The web version provides functions such as browsing, searching, interaction, uploading videos and personal homepage management, and has advantages such as large-screen experience, multi-tasking, convenient account management and data statistics.
